testing new SMP scheduler

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Jun 14 11:03:34 UTC 2013


On 06/13/2013 11:30 PM, Joel Sherrill wrote:
> Hi
>
> Out of curiosity, did you hack confdefs.h to force this as the
> scheduler in uniprocessor configurations to ensure it does
> the correct things in that situation?
>

I hacked some things to run the tests with the new scheduler.  I added also the 
support for the preempt mode (this makes no sense on SMP).  The following tests 
fail:

sp02 - This is a bug in the test.  I will send a fix.
sp66 - I think there is a bug in the test.
spfatal03 - Fails due to RTEMS_SMP is defined.
tm20 - Didn't look at it since this test tinkers with internal variables.
tm27 - Ditto.

The test sp66 checks the priority ceiling protocol.  The problem is that the 
driver task has preemption disabled:

[...]
   sleep(1);

   puts( "Calling semaphore release" );
   status = rtems_semaphore_release( Mutex_id );
   directive_failed( status, "rtems_semaphore_release" );

To make sure the priority ceiling works, we have to check that Task_1 actually 
runs which is impossible since Init has preempt disabled.

   puts( "*** END OF TEST 65 ***" );

   rtems_test_exit(0);
[...]

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the devel mailing list