GSoC/GCI Archive
Google Summer of Code 2015 RTEMS Project

Nested Mutexes

by Saurabh Gadia for RTEMS Project

The strict order mutexes is based on LIFO ordering. So whenever thread tries to acquire mutex lock, its priority before acquiring the lock is pushed to that mutex’s thread queue. So whenever thread release any lock then that lock’s queue is consulted and thread’s priority is restored. So this mechanism of restoring priority may induce unbounded priority inversion if higher priority thread is contending for a lock still hold by our candidate thread. So I propose an solution to this problem.