[Bug 2124] Strict order mutex introduces unbounded priority inversion

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Sun May 19 21:41:35 UTC 2013


https://www.rtems.org/bugzilla/show_bug.cgi?id=2124

--- Comment #1 from Gedare <gedare at rtems.org> 2013-05-19 16:41:35 CDT ---
The pattern is that the low priority task acquires the outer and inner
mutexes, then the mid priority task blocks on the inner mutex, and the
high priority task blocks on the outer mutex. Because of priority
inherianace, the low priority task gets the high priority while in the
inner mutex, but when it releases the inner mutex, the strict order
steps down its priority to the priority it had when it acquired the
inner mutex, i.e. it's low priority. So the low priority task still
holds the outer mutex and the high priority task is blocked, but the
mid priority task is allowed to execute. The mid priority can execute
arbitrarily long, creating an unbounded priority inversion.

-- 
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the bugs mailing list