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
_______________________________________________
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel

Reply via email to