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 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>
2012-01-11 11:54:20 +11:00
..
2011-12-08 14:22:53 +11:00
2011-10-31 19:30:44 -04:00
2011-12-21 14:29:42 -08:00
2011-10-31 19:30:44 -04:00
2011-11-25 14:11:28 +11:00
2011-05-19 00:36:43 -05:00
2011-07-12 13:16:58 +03:00
2011-07-12 13:16:58 +03:00
2011-12-09 07:51:02 -05:00
2011-12-20 10:20:19 -05:00
2011-12-08 14:02:24 +11:00
2011-05-19 15:31:03 +10:00
2011-11-06 19:44:47 -08:00
2011-09-20 09:19:35 +10:00
2011-11-06 19:44:47 -08:00
2011-07-01 11:06:38 +02:00
2011-11-16 14:47:54 +11:00
2011-04-27 14:18:52 +10:00
2011-06-29 16:40:59 +10:00
2011-12-08 14:22:53 +11:00
2011-10-31 19:30:41 -04:00
2011-05-26 13:38:57 +10:00
2011-09-20 09:19:47 +10:00
2011-09-20 09:19:47 +10:00
2011-09-20 09:19:47 +10:00
2011-12-20 10:21:57 -05:00
2011-09-20 16:09:54 +10:00
2011-06-22 21:44:55 -05:00
2011-12-20 10:20:19 -05:00
2011-10-31 19:30:44 -04:00
2011-11-06 19:44:47 -08:00
2011-10-11 23:23:24 -05:00
2011-12-08 14:22:53 +11:00
2012-01-11 11:54:20 +11:00
2011-10-31 19:30:44 -04:00
2011-10-31 19:30:37 -04:00
2011-10-31 19:30:44 -04:00
2011-10-31 19:30:38 -04:00
2011-09-23 10:27:03 +10:00
2011-12-08 14:05:54 +11:00
2011-10-31 19:30:37 -04:00
2011-11-16 14:25:19 +11:00
2011-05-23 09:12:26 -07:00
2011-11-16 14:47:54 +11:00
2011-12-09 19:14:13 -08:00
2012-01-03 22:54:56 -05:00
2011-09-20 15:53:23 +10:00
2012-01-06 17:58:22 -08:00
2011-12-20 10:21:08 -05:00
2011-11-16 14:47:54 +11:00
2011-06-29 17:48:20 +10:00
2011-07-24 22:06:04 +09:30
2011-07-24 22:06:04 +09:30
2011-10-31 19:30:44 -04:00
2011-07-25 22:59:39 -07:00
2011-10-31 19:30:44 -04:00
2011-10-31 19:30:44 -04:00
2011-10-31 19:30:38 -04:00
2011-10-31 19:30:37 -04:00
2011-11-25 14:53:15 +11:00
2011-10-31 19:30:37 -04:00
2011-12-07 18:04:58 +11:00
2011-08-05 14:47:56 +10:00
2011-07-01 11:06:35 +02:00
2011-07-25 22:59:39 -07:00
2011-10-31 19:30:44 -04:00
2011-07-25 22:59:39 -07:00
2011-07-25 22:59:39 -07:00
2011-07-25 22:59:39 -07:00
2011-09-29 17:04:59 +10:00
2011-09-20 16:12:56 +10:00
2011-07-25 22:59:39 -07:00
2011-10-31 19:30:44 -04:00
2011-11-28 11:42:09 +11:00
2011-09-20 16:09:48 +10:00
2011-12-20 10:20:19 -05:00
2011-10-31 19:30:44 -04:00
2011-12-08 10:22:08 -08:00
2011-11-06 19:44:47 -08:00
2011-12-20 10:21:08 -05:00
2011-11-25 14:11:29 +11:00
2011-07-12 09:28:04 -05:00
2011-06-29 15:30:43 +10:00
2011-10-31 19:30:44 -04:00
2011-11-25 14:11:29 +11:00
2011-11-16 14:47:54 +11:00
2011-12-07 16:26:23 +11:00
2011-10-31 19:30:44 -04:00
2011-11-17 16:41:10 +11:00
2011-10-31 19:30:44 -04:00
2011-07-26 16:49:47 -07:00
2012-01-07 12:03:30 -08:00
2011-10-31 19:30:44 -04:00
2011-10-31 19:30:40 -04:00
2011-09-20 09:19:58 +10:00
2012-01-07 12:03:30 -08:00
2011-12-19 14:41:20 +11:00
2011-12-08 14:02:23 +11:00
2011-05-06 13:32:41 +10:00
2011-11-06 17:12:03 -08:00
2011-10-31 19:30:44 -04:00
2011-05-19 14:30:42 +10:00
2011-12-21 22:03:32 +01:00
2011-12-20 10:21:08 -05:00