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