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

Steven Rostedt
2009-01-08T19:45:29Z

On Thu, 8 Jan 2009, Chris Mason wrote:
> On Thu, 2009-01-08 at 13:14 -0500, Steven Rostedt wrote:
> >
> > If it was the current process that preempted the owner and these are RT
> > tasks pinned to the same CPU and the owner is of lower priority than the
> > spinner, we have a deadlock!
> >
> > Hmm, I do not think the need_sched here will even fix that :-/
>
> RT tasks could go directly to sleeping. The spinner would see them on
> the list and break out.

True, we could do:

if (owner) {
if (!spin_on_owner(lock, owner))
break;
} else if (rt_task(current))
break;

That would at least solve the issue in the short term.

-- Steve