m.molnar at sh.cvut.cz
Mon Mar 20 23:16:46 UTC 2006
Could anybody explain me how exactly Priority Ceiling Protocol (PCP) is
implemented in RTEMS? I think it works differently than PCP described in
1.Task1 (current priority 10) obtains the mutex SEM1 and its priority is
raised to the mutex ceiling (9).
2.Task1 ( current priority 9) obtains the mutex SEM2 and its priority is
raised to the mutex ceiling (5).
3.Task1 ( current priority 5) releases the mutex SEM2. I would expect
the priority to be changed to value 9. However, the priority remains
unchanged. From RTEMS documentation: Only when the task releases ALL of
the binary semaphores it holds will its priority be restored to the
I am not sure, whether RTEMS PCP(and also Priority Inheritance Protocol)
is correct. Because,now Task1 can block for example TAsk2 with priority 6.
Thanks for explanation
More information about the users