Re: [ANNOUNCE] 3.2.9-rt17
From: Peter Zijlstra <peterz@infradead.org>
Date: 2012-03-08 21:37:17
Also in:
lkml
On Thu, 2012-03-08 at 16:36 -0500, Steven Rostedt wrote:
On Thu, 2012-03-08 at 22:28 +0100, Peter Zijlstra wrote:quoted
On Thu, 2012-03-08 at 16:25 -0500, Steven Rostedt wrote:quoted
How would this be different than what mainline does? When the lock is released, it will wake up the other task.mainline has ticket locks, the rt-mutex stuff has equal priority lock stealing, waking up the blocked task will take so long our running loop will have re-acquired ->d_lock again before it even gets to trying.And we have adaptive mutexes. So we wake up the task (now with the higher priority), by the time it wakes up, the original task retook the lock. But because of adaptive mutexes, as this task takes the lock it notices that the owner is still running, and it will spin and not sleep. Now when the original task releases the lock again, the other task can take it just like it does on mainline.
Now interleave it with a third task of even higher priority that puts the spinner to sleep.