On Thu, 2012-03-08 at 16:36 -0500, Steven Rostedt wrote: > On Thu, 2012-03-08 at 22:28 +0100, Peter Zijlstra wrote: > > On Thu, 2012-03-08 at 16:25 -0500, Steven Rostedt wrote: > > > > > > 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. -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html