Possible bug with mutex adaptative spinning
Peter Zijlstra
peterz at infradead.org
Sat Apr 17 07:27:31 EST 2010
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;
More information about the Linuxppc-dev
mailing list