[RTEMS Project] #4544: The last processor must not be removed if it is owned by a helping scheduler (was: Incorrect state change in processor removal of SMP scheduler)

RTEMS trac trac at rtems.org
Wed Nov 10 08:21:56 UTC 2021


#4544: The last processor must not be removed if it is owned by a helping
scheduler
--------------------------------+------------------------------
 Reporter:  Sebastian Huber     |       Owner:  Sebastian Huber
     Type:  defect              |      Status:  assigned
 Priority:  normal              |   Milestone:  6.1
Component:  score               |     Version:  5
 Severity:  normal              |  Resolution:
 Keywords:  SMP, qualification  |  Blocked By:
 Blocking:                      |
--------------------------------+------------------------------
Description changed by Sebastian Huber:

Old description:

> The bug is related to this requirement: While the processor allocated to
> the thread is owned by a helping scheduler, while the processor is the
> only processor of the scheduler, when the processor is removed, the
> thread shall be blocked with respect to the scheduler. A test case for
> this requirement showed that a scheduler node change is incorrect in
> _Scheduler_SMP_Remove_processor().

New description:

 The following error condition is currently not checked by
 rtems_scheduler_remove_processor(): While an attempt is made to remove a
 processor from a scheduler, while the processor is the only processor
 owned by the scheduler, if a thread exists which uses the scheduler as a
 helping scheduler, then shall not be removed.

 The reason is that ask for help requests and withdraw node requests are
 processed asynchronously in any order. An ask for help request carried out
 on a scheduler without a processor is undefined behaviour.

--

--
Ticket URL: <http://devel.rtems.org/ticket/4544#comment:1>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list