Messages in this thread | | | Date | Mon, 18 Apr 2016 10:23:33 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [PATCH v3 1/6] rtmutex: Deboost before waking up the top waiter |
| |
On Thu, 14 Apr 2016, Xunlei Pang wrote: > We should deboost before waking the high-prio task such that > we don't run two tasks with the 'same' priority.
No. This is fundamentaly broken.
T1 (prio 0) lock(X)
--> preemption
T2 (prio 10) lock(X) boost(T1) schedule()
T1 (prio 10) unlock(X) deboost() (prio 0)
--> preemption
T3 (prio 5) ....
Classic priority inversion enabled by a mechanism to avoid it. Brilliant stuff.
Thanks,
tglx
| |