diff options
author | Peter Zijlstra <[email protected]> | 2011-05-26 14:21:33 +0200 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2011-05-28 17:02:55 +0200 |
commit | d6aa8f85f16379d42c147b22b59e33b67f9ff466 (patch) | |
tree | 7e28fec1b4d23f5a60fb3370dd446b36aff66379 /tools/perf/util/scripting-engines/trace-event-python.c | |
parent | cd4ae6adf8b1c21d88e83ed56afeeef97b28f356 (diff) |
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 <[email protected]>
Cc: Yong Zhang <[email protected]>
Cc: Oleg Nesterov <[email protected]>
Reported-by: Marc Zyngier <[email protected]>
Tested-by: Marc Zyngier <[email protected]>
Signed-off-by: Peter Zijlstra <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'tools/perf/util/scripting-engines/trace-event-python.c')
0 files changed, 0 insertions, 0 deletions