linux_dsm_epyc7002/arch/powerpc/platforms
Anton Blanchard a5ccfee05a 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 a7b152d534 (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>
2012-01-11 11:54:20 +11:00
..
8xx powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
40x Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-01-08 13:21:22 -08:00
44x Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-01-08 13:21:22 -08:00
52xx Merge remote-tracking branch 'agust/next' into merge 2011-11-08 14:53:55 +11:00
82xx powerpc/82xx: updates for mgcoge 2011-10-11 16:18:41 -05:00
83xx sbc834x: put full compat string in board match check 2012-01-04 15:27:59 -06:00
85xx powerpc: fix compile error with 85xx/p1010rdb.c 2012-01-04 15:52:40 -06:00
86xx powerpc/mpic: Invert the meaning of MPIC_PRIMARY 2011-12-07 13:43:08 +11:00
512x powerpc/mpc5121: drop "select MPC5121_ADS_CPLD" 2011-11-13 20:57:45 +01:00
amigaone pcspkr: Cleanup Kconfig dependencies 2011-06-09 15:01:41 +02:00
cell Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2012-01-08 12:19:57 -08:00
chrp powerpc/mpic: Invert the meaning of MPIC_PRIMARY 2011-12-07 13:43:08 +11:00
embedded6xx Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-01-06 17:58:22 -08:00
iseries Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core 2012-01-07 12:03:30 -08:00
maple powerpc/mpic: Invert the meaning of MPIC_PRIMARY 2011-12-07 13:43:08 +11:00
pasemi powerpc/mpic: Invert the meaning of MPIC_PRIMARY 2011-12-07 13:43:08 +11:00
powermac Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core 2012-01-07 12:03:30 -08:00
powernv powerpc/powernv: Fix problems in onlining CPUs 2011-12-08 14:22:53 +11:00
prep powerpc: drop unused Kconfig symbols 2011-10-31 23:39:52 +01:00
ps3 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-01-06 17:58:22 -08:00
pseries powerpc: Fix RCU idle and hcall tracing 2012-01-11 11:54:20 +11:00
wsp powerpc/wsp: Mark opb cascade handler IRQF_NO_THREAD 2011-11-25 14:11:29 +11:00
fsl_uli1575.c PCI: add pci_bus_for_each_resource(), remove direct bus->resource[] refs 2010-02-23 09:43:31 -08:00
Kconfig powerpc/cpuidle: Enable cpuidle and directly call cpuidle_idle_call() for pSeries 2011-12-08 13:57:20 +11:00
Kconfig.cputype powerpc: Kconfig updates for FSL BookE HUGETLB 64-bit 2011-12-07 16:26:23 +11:00
Makefile powerpc: Add skeleton PowerNV platform 2011-09-20 15:53:25 +10:00