aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched_fair.c
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2011-05-26 14:21:33 +0200
committerIngo Molnar <mingo@elte.hu>2011-05-28 17:02:55 +0200
commitd6aa8f85f16379d42c147b22b59e33b67f9ff466 (patch)
tree7e28fec1b4d23f5a60fb3370dd446b36aff66379 /kernel/sched_fair.c
parentcd4ae6adf8b1c21d88e83ed56afeeef97b28f356 (diff)
downloadkernel_samsung_smdk4412-d6aa8f85f16379d42c147b22b59e33b67f9ff466.zip
kernel_samsung_smdk4412-d6aa8f85f16379d42c147b22b59e33b67f9ff466.tar.gz
kernel_samsung_smdk4412-d6aa8f85f16379d42c147b22b59e33b67f9ff466.tar.bz2
sched: Fix ttwu() for __ARCH_WANT_INTERRUPTS_ON_CTXSW
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 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. Fix this by reverting to the old behaviour for this situation and perform a full remote wake-up. Cc: Frank Rowand <frank.rowand@am.sony.com> Cc: Yong Zhang <yong.zhang0@gmail.com> Cc: Oleg Nesterov <oleg@redhat.com> Reported-by: Marc Zyngier <Marc.Zyngier@arm.com> Tested-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/sched_fair.c')
0 files changed, 0 insertions, 0 deletions