Li Zhong
a093b93ee0
cpuidle: fix a suspicious RCU usage in menu governor
I saw this suspicious RCU usage on the next tree of 11/15
[ 67.123404] ===============================
[ 67.123413] [ INFO: suspicious RCU usage. ]
[ 67.123423] 3.7.0-rc5-next-20121115-dirty #1 Not tainted
[ 67.123434] -------------------------------
[ 67.123444] include/trace/events/timer.h:186 suspicious rcu_dereference_check() usage!
[ 67.123458]
[ 67.123458] other info that might help us debug this:
[ 67.123458]
[ 67.123474]
[ 67.123474] RCU used illegally from idle CPU!
[ 67.123474] rcu_scheduler_active = 1, debug_locks = 0
[ 67.123493] RCU used illegally from extended quiescent state!
[ 67.123507] 1 lock held by swapper/1/0:
[ 67.123516] #0: (&cpu_base->lock){-.-...}, at: [<c0000000000979b0>] .__hrtimer_start_range_ns+0x28c/0x524
[ 67.123555]
[ 67.123555] stack backtrace:
[ 67.123566] Call Trace:
[ 67.123576] [c0000001e2ccb920] [c00000000001275c] .show_stack+0x78/0x184 (unreliable)
[ 67.123599] [c0000001e2ccb9d0] [c0000000000c15a0] .lockdep_rcu_suspicious+0x120/0x148
[ 67.123619] [c0000001e2ccba70] [c00000000009601c] .enqueue_hrtimer+0x1c0/0x1c8
[ 67.123639] [c0000001e2ccbb00] [c000000000097aa0] .__hrtimer_start_range_ns+0x37c/0x524
[ 67.123660] [c0000001e2ccbc20] [c0000000005c9698] .menu_select+0x508/0x5bc
[ 67.123678] [c0000001e2ccbd20] [c0000000005c740c] .cpuidle_idle_call+0xa8/0x6e4
[ 67.123699] [c0000001e2ccbdd0] [c0000000000459a0] .pSeries_idle+0x10/0x34
[ 67.123717] [c0000001e2ccbe40] [c000000000014dc8] .cpu_idle+0x130/0x280
[ 67.123738] [c0000001e2ccbee0] [c0000000006ffa8c] .start_secondary+0x378/0x384
[ 67.123758] [c0000001e2ccbf90] [c00000000000936c] .start_secondary_prolog+0x10/0x14
hrtimer_start was added in 198fd638 and ae515197. The patch below tries
to use RCU_NONIDLE around it to avoid the above report.
Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2012-11-23 00:05:03 +01:00
..
2012-11-03 09:52:54 +08:00
2012-10-05 22:32:05 -03:00
2012-10-06 03:04:40 +09:00
2012-11-10 21:58:34 +01:00
2012-10-15 14:45:51 -04:00
2012-10-30 08:37:31 +01:00
2012-10-25 12:05:50 -07:00
2012-10-02 17:26:42 -07:00
2012-10-02 18:32:35 -07:00
2012-10-31 21:02:57 +01:00
2012-11-23 00:05:03 +01:00
2012-10-07 20:55:16 +09:00
2012-10-26 14:59:01 -07:00
2012-10-24 16:13:27 +02:00
2012-10-23 16:32:18 +09:00
2012-10-09 18:26:28 +02:00
2012-10-19 14:07:47 -07:00
2012-11-10 21:58:34 +01:00
2012-11-09 20:49:06 +10:00
2012-11-09 06:56:23 +01:00
2012-10-24 15:46:27 -07:00
2012-11-05 21:54:40 +01:00
2012-11-03 15:14:54 -07:00
2012-10-06 03:04:41 +09:00
2012-10-19 19:44:06 +01:00
2012-10-23 09:03:49 -07:00
2012-11-02 16:11:15 -07:00
2012-10-24 16:58:53 +02:00
2012-11-07 18:59:26 -05:00
2012-10-10 20:14:07 +09:00
2012-10-07 21:04:56 +09:00
2012-10-06 03:16:12 +09:00
2012-10-31 11:42:30 +11:00
2012-10-17 16:45:56 -03:00
2012-10-07 17:29:24 +09:00
2012-10-10 20:15:24 +09:00
2012-11-07 15:40:52 -05:00
2012-10-09 15:08:42 +01:00
2012-11-09 17:08:36 -05:00
2012-10-17 15:53:03 -05:00
2012-10-09 16:22:18 +09:00
2012-10-09 16:11:46 +09:00
2012-11-05 16:59:59 -07:00
2012-10-19 15:40:18 -07:00
2012-11-06 10:02:14 +01:00
2012-10-09 01:47:35 -04:00
2012-10-13 11:27:59 +09:00
2012-10-06 03:04:56 +09:00
2012-10-10 20:15:24 +09:00
2012-10-11 08:50:15 +09:00
2012-10-05 12:01:30 +09:00
2012-10-07 21:04:56 +09:00
2012-10-07 21:04:56 +09:00
2012-10-25 14:37:53 -07:00
2012-11-06 22:39:54 +01:00
2012-11-10 21:58:34 +01:00
2012-10-15 14:08:48 +09:00
2012-10-28 11:13:54 -07:00
2012-10-26 10:25:31 -07:00
2012-11-01 00:38:45 -07:00
2012-11-03 09:52:55 +08:00
2012-10-24 11:57:21 -07:00
2012-10-09 16:22:19 +09:00
2012-11-07 21:12:26 -05:00
2012-10-10 09:10:32 -06:00
2012-10-24 23:19:30 -04:00
2012-11-02 13:26:11 -07:00
2012-11-09 14:54:24 +10:30
2012-10-07 21:06:10 +09:00
2012-11-10 06:56:21 +01:00
2012-10-16 18:07:12 -07:00