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

Steven Rostedt
2009-01-07T23:46:30Z

On Wed, 7 Jan 2009, Linus Torvalds wrote:
> On Wed, 7 Jan 2009, Steven Rostedt wrote:
> >
> > What would be interesting is various benchmarks against all three.
> >
> > 1) no mutex spinning.
> > 2) get_task_struct() implementation.
> > 3) spin_or_sched implementation.
>
> One of the issues is that I cannot convince myself that (2) is even
> necessarily correct. At least not without having all cases happen inder
> the mutex spinlock - which they don't. Even with the original patch, the
> uncontended cases set and cleared the owner field outside the lock.

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.

-- Steve