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

From: Steven Rostedt
Date: Thu Jan 08 2009 - 14:45:44 EST



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