Priority inheritance

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

Revision as of 00:35, 22 September 2006

Priority Inheritance

Priority inheritance is technique used to prevent priority inversion. When a process would block on a given lock, the process owning the lock "inherits" the blocking process's priority until it releases the lock. This prevents the owning process from being preempted by any process of lower priority than the process blocking on the lock, thus preventing priority inversion.

Priority inheritance is transitive: if the owning process is itself blocked on a second lock, the owner of the second lock can also inherit the priority of the process blocked on the first lock.

Personal tools