[RTEMS Project] #4532: Priority inversion issues with MrsP locking protocol implementation

RTEMS trac trac at rtems.org
Tue Nov 23 13:35:53 UTC 2021


#4532: Priority inversion issues with MrsP locking protocol implementation
--------------------------------+------------------------------
 Reporter:  Sebastian Huber     |       Owner:  Sebastian Huber
     Type:  defect              |      Status:  closed
 Priority:  normal              |   Milestone:  6.1
Component:  score               |     Version:  5
 Severity:  critical            |  Resolution:  fixed
 Keywords:  SMP, qualification  |  Blocked By:
 Blocking:                      |
--------------------------------+------------------------------
Changes (by Sebastian Huber <sebastian.huber@…>):

 * status:  assigned => closed
 * resolution:   => fixed


Comment:

 In [changeset:"3d6ebde1acab61e7c8fce1a1ed51517f7c2bf7c6/rtems"
 3d6ebde1/rtems]:
 {{{
 #!CommitTicketReference repository="rtems"
 revision="3d6ebde1acab61e7c8fce1a1ed51517f7c2bf7c6"
 score: Add SMP scheduler make/clean sticky

 This patch fixes the following broken behaviour:

   While a thread is scheduled on a helping scheduler, while it does not
   own a MrsP semaphore, if it obtains a MrsP semaphore, then no
   scheduler node using an idle thread and the ceiling priority of the
   semaphore is unblocked for the home scheduler.

 This could lead to priority inversion issues and is not in line
 with the MrsP protocol.

 Introduce two new scheduler operations which are only enabled if
 RTEMS_SMP is defined.  The operations are used to make the scheduler
 node of the home scheduler sticky and to clean the sticky property.
 This helps to keep the sticky handing out of the frequently used
 priority update operation.

 Close #4532.
 }}}

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


More information about the bugs mailing list