Re: Possible bug with mutex adaptative spinning

From: Peter Zijlstra
Date: Fri Apr 16 2010 - 17:27:39 EST


On Wed, 2010-04-14 at 12:56 +1000, Benjamin Herrenschmidt wrote:
> On Wed, 2010-04-14 at 12:35 +1000, Benjamin Herrenschmidt wrote:
> > Hi Peter !
> >
> > I -may- have found a bug with mutex adaptative spinning. We hit it when
> > torture testing CPU unplug.
>
> .../...
>
> In fact, I wonder if there's another potential problem:
>
> If the owner is actually running, it may do so for a very long time. It
> looks to me that everybody trying to take the mutex will thus spin and
> never get out of the spin loop until the owner stops running.

The inner-most spin loop breaks out on need_resched():

if (task_thread_info(rq->curr) != owner || need_resched())
return 0;


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