Messages in this thread | | | Date | Mon, 10 Feb 2014 22:02:24 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH 2/8] mutex: In mutex_can_spin_on_owner(), return false if task need_resched() |
| |
On Mon, Feb 10, 2014 at 08:58:22PM +0100, Peter Zijlstra wrote:
Bah, I forgot Quilt eats the From: headers and I forgot to re-add them. They're still present in the queue, just lost in mailing :/
> The mutex_can_spin_on_owner() function should also return false if the > task needs to be rescheduled to avoid entering the MCS queue when it > needs to reschedule. > > Cc: chegu_vinod@hp.com > Cc: paulmck@linux.vnet.ibm.com > Cc: Waiman.Long@hp.com > Cc: torvalds@linux-foundation.org > Cc: tglx@linutronix.de > Cc: riel@redhat.com > Cc: akpm@linux-foundation.org > Cc: davidlohr@hp.com > Cc: hpa@zytor.com > Cc: andi@firstfloor.org > Cc: aswin@hp.com > Cc: mingo@kernel.org > Cc: scott.norton@hp.com > Signed-off-by: Jason Low <jason.low2@hp.com> > Signed-off-by: Peter Zijlstra <peterz@infradead.org> > Link: http://lkml.kernel.org/r/1390936396-3962-2-git-send-email-jason.low2@hp.com > --- > kernel/locking/mutex.c | 3 +++ > 1 file changed, 3 insertions(+) > > --- a/kernel/locking/mutex.c > +++ b/kernel/locking/mutex.c > @@ -166,6 +166,9 @@ static inline int mutex_can_spin_on_owne > struct task_struct *owner; > int retval = 1; > > + if (need_resched()) > + return 0; > + > rcu_read_lock(); > owner = ACCESS_ONCE(lock->owner); > if (owner) > >
| |