[rtems commit] smptests/smp07: Use suspend instead of delete
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Aug 7 06:02:31 UTC 2013
On 2013-08-07 07:55, Sebastian Huber wrote:
> On 2013-08-06 23:48, Chris Johns wrote:
>> Sebastian Huber wrote:
>>>
>>> - (void) rtems_task_delete( RTEMS_SELF );
>>> + /* FIXME: Task deletion currently not supported */
>>> + (void) rtems_task_suspend( RTEMS_SELF );
>>>
>>
>> In my view this is a blocker for 4.11. With such a bug we cannot say SMP is
>> available and it was planned to be in 4.11.
>>
>> Is there a "hold giant lock" level solution ? That is something, even if
>> performance is poor, that is stable.
>
> I don't know an easy solution for the thread deletion problem, see also
>
> http://www.rtems.org/pipermail/rtems-devel/2013-July/003509.html
>
A list of other unsupported features can be found here:
http://git.rtems.org/rtems/tree/testsuites/smptests/smpunsupported01/init.c
The task variable API will never work on SMP (the Ada self rtems_ada_self has
the same problem). For Newlib a similar fixed with the usage of __getreent().
As a result the C++ support is currently broken on SMP.
The non-preempt mode can work on SMP, but I think this would lead to a broken
design.
The bdbuf and the once functions will not work due to that (mutual exclusion
via non-preempt doesn't work on SMP).
--
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