Priority inheritance
From RTwiki
(Difference between revisions)
PaulMcKenney (Talk | contribs) |
m (→Priority Inheritance) |
||
Line 1: | Line 1: | ||
== Priority Inheritance == | == Priority Inheritance == | ||
− | Priority inheritance is technique used to prevent [[priority inversion]]. When a process would block on a given lock, the | + | Priority inheritance is a technique used to prevent [[priority inversion]]. When a process would block on a given lock, the task owning the lock "inherits" the blocking task's priority until it releases the lock. This prevents the owning task from being preempted by any task of lower priority than the task blocking on the lock, thus preventing [[priority inversion]]. |
− | Priority inheritance is transitive: if the owning | + | Priority inheritance is transitive: if the owning task is itself blocked on a second lock, the owner of the second lock can also inherit the priority of the task blocked on the first lock. |
[[Category:Glossary]] | [[Category:Glossary]] |
Revision as of 10:24, 10 October 2006
Priority Inheritance
Priority inheritance is a technique used to prevent priority inversion. When a process would block on a given lock, the task owning the lock "inherits" the blocking task's priority until it releases the lock. This prevents the owning task from being preempted by any task of lower priority than the task blocking on the lock, thus preventing priority inversion.
Priority inheritance is transitive: if the owning task is itself blocked on a second lock, the owner of the second lock can also inherit the priority of the task blocked on the first lock.