[lkml]   [2011]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [BUG] "sched: Remove rq->lock from the first half of ttwu()" locks up on ARM
On Thu, 2011-05-26 at 14:21 +0200, Peter Zijlstra wrote:
> On Thu, 2011-05-26 at 13:32 +0200, Peter Zijlstra wrote:
> >
> > The bad news is of course that I've got a little more head-scratching to
> > do, will keep you informed.
> OK, that wasn't too hard.. (/me crosses fingers and prays Marc doesn't
> find more funnies ;-).
> Does the below cure all woes?

So far so good. The box just went through it's two first iterations of
kernel building without a sweat, carried on, and still feels snappy

Thanks for having fixed that quickly!

> ---
> Subject: sched: Fix ttwu() for __ARCH_WANT_INTERRUPTS_ON_CTXSW
> From: Peter Zijlstra <>
> Date: Thu May 26 14:21:33 CEST 2011
> Marc reported that e4a52bcb9 (sched: Remove rq->lock from the first
> half of ttwu()) broke his ARM-SMP machine. Now ARM is one of the few
> __ARCH_WANT_INTERRUPTS_ON_CTXSW users, so that exception in the ttwu()
> code was suspect.
> Yong found that the interrupt could hit hits after context_switch() changes
> current but before it clears p->on_cpu, if that interrupt were to
> attempt a wake-up of p we would indeed find ourselves spinning in IRQ
> context.
> Sort this by reverting to the old behaviour for this situation and
> perform a full remote wake-up.
> Cc: Frank Rowand <>
> Cc: Yong Zhang <>
> Cc: Oleg Nesterov <>
> Reported-by: Marc Zyngier <>
> Signed-off-by: Peter Zijlstra <>

Tested-by: Marc Zyngier <>

Reality is an implementation detail.

 \ /
  Last update: 2011-05-26 16:57    [W:0.062 / U:6.980 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site