Priority inheritance

From RTwiki
(Difference between revisions)
Jump to: navigation, search
m
m (Priority Inheritance)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
== Priority Inheritance ==
 
== Priority Inheritance ==
  
Priority inheritance is...
+
Priority inheritance is a technique used to prevent [[priority inversion]]. When a task 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]].
  
[[Categry:Glossary]]
+
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]]

Latest revision as of 10:27, 10 October 2006

[edit] Priority Inheritance

Priority inheritance is a technique used to prevent priority inversion. When a task 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.

Personal tools