Changes between Initial Version and Version 1 of Ticket #4544


Ignore:
Timestamp:
11/10/21 08:21:56 (2 years ago)
Author:
Sebastian Huber
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #4544

    • Property Summary changed from Incorrect state change in processor removal of SMP scheduler to The last processor must not be removed if it is owned by a helping scheduler
  • Ticket #4544 – Description

    initial v1  
    1 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().
     1The 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.
     2
     3The 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.