Priority Inversion
From Suhrid.net Wiki
Jump to navigationJump to search
Intro
- All synchronization mechanisms that are based on mutual exclusion suffer from priority inversion.
- This is where a low-priority SO enters into a mutual-exclusion zone which it shares with a high-priority SO.
- Now the low priority SO is in a mutex zone. Now, consider a medium priority thread which doesnt use the mutex zone, it preempts the low priority thread and starts performing a computationally intensive task.
- So the low priority SO cant run and get out of the mutex zone. Which means, the high priority thread is blocked.
- The medium-priority thread thereby indirectly blocks the progression of the high-priority thread for a potentially unbounded period of time.