SMP06 test failure on LEON
Daniel Hellstrom
daniel at gaisler.com
Sun Nov 10 16:22:30 UTC 2013
Hello,
This is my findings from running some of the SMP test. The SMP06 test
seems to be correct since it matches smp06.scn file, but after reading
the test source and documentation I'm not fully convinced. I hope I'm
wrong here. And I don't know exectly how the scheduler behavior shuold
be, but the test claims that the "oldest" task (Init) should be switched
away in favor of the new TA2 task. This is my conclusion so far:
Printout of smp06.scn is incorrect it should rather be as below diff
instead. The test produces the output accoring to original smp06.scn,
however I believe it is wrong. If the oldest task (Init) should be
swapped out and the TA02 task should be executed on the CPU that
originally ran the Init task since it is the oldest task.
** TEST SMP06 ***
rtems_clock_tick - so this task has run longer
CPU 0 start task TA1
CPU 1 running Task TA1
CPU 0 start task TA2
- CPU 1 running Task TA2
+ CPU 0 running Task TA2
*** END OF TEST SMP06 ***
I will email an improvement patch to the SMP06 test to detect this
error. This will however not fix the issue just enlighten it, for it
should be a fix in the scheduler or that the test does not longer match
the scheduler's implementation.
Regards,
Daniel
More information about the devel
mailing list