On Fri, 2010-04-16 at 23:27 +0200, Peter Zijlstra wrote: > > 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;
You are right, this was only a problem in conjunction with the other bug returning 1 all the time, causing us to ignore need_resched(). With that fixed, it looks fine now. Thanks ! Cheers, Ben. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev