Re: [ANNOUNCE] 3.2.9-rt17
From: Peter Zijlstra
Date: Thu Mar 08 2012 - 16:37:19 EST
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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/