Priority inheritance

From RTwiki
Jump to: navigation, search

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