Re: [PATCH -v5][RFC]: mutex: implement adaptive spinning

From: Linus Torvalds
Date: Wed Jan 07 2009 - 18:53:32 EST




On Wed, 7 Jan 2009, Steven Rostedt wrote:

>
> On Wed, 7 Jan 2009, Steven Rostedt wrote:
> >
> > True. I need to keep looking at the code that is posted. In -rt, we force
> > the fast path into the slowpath as soon as another task fails to get the
> > lock. Without that, as you pointed out, the code can be racy.
>
> I mean we force the fast unlock path into the slow path as soon as another
> task fails to get the lock.

I think the mainline mutex code does that all right too - we keep the
counter negative all the time when it has contention.

So the original model where the spinning was done only after we'd gotten
the spinlock probably was correct. However, it _is_ a lot more expensive
than the "optimistic spin" model.

Linus
--
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/