summaryrefslogtreecommitdiff
path: root/arch/powerpc/sysdev/cpm2_pic.h
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2012-01-09 14:29:15 (GMT)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2012-01-11 00:54:20 (GMT)
commita5ccfee05a439b803640e94584056204501db31c (patch)
tree2545bab092fe62924d5ccba8920c137b1e771ba6 /arch/powerpc/sysdev/cpm2_pic.h
parent7b3480f8b701170c046e1ed362946f5f0d005e13 (diff)
downloadlinux-a5ccfee05a439b803640e94584056204501db31c.tar.xz
powerpc: Fix RCU idle and hcall tracing
Tracepoints should not be called inside an rcu_idle_enter/rcu_idle_exit region. Since pSeries calls H_CEDE in the idle loop, we were violating this rule. commit a7b152d5342c (powerpc: Tell RCU about idle after hcall tracing) tried to work around it by delaying the rcu_idle_enter until after we called the hcall tracepoint, but there are a number of issues with it. The hcall tracepoint trampoline code is called conditionally when the tracepoint is enabled. If the tracepoint is not enabled we never call rcu_idle_enter. The idle_uses_rcu check was also done at compile time which breaks multiplatform builds. The simple fix is to avoid tracing H_CEDE and rely on other tracepoints and the hypervisor dispatch trace log to work out if we called H_CEDE. This fixes a hang during boot on pSeries. Signed-off-by: Anton Blanchard <anton@samba.org> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/sysdev/cpm2_pic.h')
0 files changed, 0 insertions, 0 deletions