David S. Miller
ab5c780913
sparc64: Do irq_{enter,exit}() around generic_smp_call_function*().
...
Otherwise rcu_irq_{enter,exit}() do not happen and we get dumps like:
====================
[ 188.275021] ===============================
[ 188.309351] [ INFO: suspicious RCU usage. ]
[ 188.343737] 3.18.0-rc3-00068-g20f3963-dirty #54 Not tainted
[ 188.394786] -------------------------------
[ 188.429170] include/linux/rcupdate.h:883 rcu_read_lock() used
illegally while idle!
[ 188.505235]
other info that might help us debug this:
[ 188.554230]
RCU used illegally from idle CPU!
rcu_scheduler_active = 1, debug_locks = 0
[ 188.637587] RCU used illegally from extended quiescent state!
[ 188.690684] 3 locks held by swapper/7/0:
[ 188.721932] #0 : (&x->wait#11){......}, at: [<0000000000495de8>] complete+0x8/0x60
[ 188.797994] #1 : (&p->pi_lock){-.-.-.}, at: [<000000000048510c>] try_to_wake_up+0xc/0x400
[ 188.881343] #2 : (rcu_read_lock){......}, at: [<000000000048a910>] select_task_rq_fair+0x90/0xb40
[ 188.973043]stack backtrace:
[ 188.993879] CPU: 7 PID: 0 Comm: swapper/7 Not tainted 3.18.0-rc3-00068-g20f3963-dirty #54
[ 189.076187] Call Trace:
[ 189.089719] [0000000000499360] lockdep_rcu_suspicious+0xe0/0x100
[ 189.147035] [000000000048a99c] select_task_rq_fair+0x11c/0xb40
[ 189.202253] [00000000004852d8] try_to_wake_up+0x1d8/0x400
[ 189.252258] [000000000048554c] default_wake_function+0xc/0x20
[ 189.306435] [0000000000495554] __wake_up_common+0x34/0x80
[ 189.356448] [00000000004955b4] __wake_up_locked+0x14/0x40
[ 189.406456] [0000000000495e08] complete+0x28/0x60
[ 189.448142] [0000000000636e28] blk_end_sync_rq+0x8/0x20
[ 189.496057] [0000000000639898] __blk_mq_end_request+0x18/0x60
[ 189.550249] [00000000006ee014] scsi_end_request+0x94/0x180
[ 189.601286] [00000000006ee334] scsi_io_completion+0x1d4/0x600
[ 189.655463] [00000000006e51c4] scsi_finish_command+0xc4/0xe0
[ 189.708598] [00000000006ed958] scsi_softirq_done+0x118/0x140
[ 189.761735] [00000000006398ec] __blk_mq_complete_request_remote+0xc/0x20
[ 189.827383] [00000000004c75d0] generic_smp_call_function_single_interrupt+0x150/0x1c0
[ 189.906581] [000000000043e514] smp_call_function_single_client+0x14/0x40
====================
Based almost entirely upon a patch by Paul E. McKenney.
Reported-by: Meelis Roos <mroos@linux.ee>
Tested-by: Meelis Roos <mroos@linux.ee>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-11-07 09:50:48 -08:00
..
2013-02-17 23:36:56 -05:00
2013-07-10 13:56:10 -07:00
2014-05-18 19:01:34 -07:00
2014-05-18 19:01:27 -07:00
2013-01-12 15:28:45 -08:00
2014-05-18 19:01:30 -07:00
2013-01-12 15:28:45 -08:00
2013-01-12 15:28:45 -08:00
2014-05-18 19:01:34 -07:00
2014-09-09 15:24:10 -07:00
2014-09-09 15:24:10 -07:00
2014-05-18 19:01:29 -07:00
2014-05-18 19:01:29 -07:00
2011-10-31 19:30:54 -04:00
2014-09-16 18:31:31 -07:00
2014-10-18 23:03:09 -04:00
2014-01-28 23:38:23 -08:00
2014-10-24 09:52:49 -07:00
2013-07-31 19:10:04 -07:00
2012-05-27 23:52:49 -07:00
2012-10-14 19:26:52 -04:00
2014-03-07 10:06:14 -05:00
2012-07-26 16:46:15 -07:00
2014-10-24 09:52:49 -07:00
2014-09-16 18:26:40 -07:00
2014-09-16 18:26:40 -07:00
2014-10-24 09:52:49 -07:00
2012-05-11 20:45:18 -07:00
2014-05-18 19:01:29 -07:00
2014-05-18 19:01:31 -07:00
2014-09-10 14:03:28 -07:00
2014-04-29 01:12:25 -04:00
2014-10-05 16:53:40 -07:00
2014-05-18 19:01:29 -07:00
2012-03-29 22:40:52 -07:00
2014-05-18 19:01:34 -07:00
2013-02-06 11:04:10 -08:00
2014-05-18 19:01:34 -07:00
2014-08-26 13:45:55 -04:00
2014-10-05 16:53:40 -07:00
2014-10-11 20:36:34 -04:00
2014-09-09 16:39:10 -07:00
2014-05-02 01:30:21 -04:00
2014-05-02 01:30:21 -04:00
2014-05-02 01:30:21 -04:00
2014-04-29 01:12:27 -04:00
2014-08-26 13:45:55 -04:00
2014-05-18 19:01:29 -07:00
2014-07-21 21:37:06 -07:00
2013-11-13 12:09:05 +09:00
2014-08-26 13:45:55 -04:00
2012-04-15 10:28:49 -07:00
2012-07-06 07:16:34 -05:00
2014-04-29 01:12:27 -04:00
2014-01-28 23:38:23 -08:00
2013-01-12 15:28:45 -08:00
2014-05-18 19:01:29 -07:00
2011-05-16 13:38:07 -07:00
2013-01-12 15:28:45 -08:00
2013-01-12 15:28:45 -08:00
2014-11-01 00:33:58 -04:00
2014-08-26 13:45:55 -04:00
2014-05-18 19:01:29 -07:00
2014-08-13 21:17:49 -07:00
2014-05-18 19:01:27 -07:00
2014-09-16 18:26:40 -07:00
2014-10-15 07:48:18 +02:00
2013-02-17 23:36:56 -05:00
2013-01-12 15:28:45 -08:00
2014-05-18 19:01:27 -07:00
2014-08-11 20:45:12 -07:00
2011-10-31 19:30:54 -04:00
2014-05-18 19:01:31 -07:00
2013-06-13 22:12:14 +01:00
2011-06-07 16:06:34 -07:00
2014-05-18 19:01:29 -07:00
2011-06-07 16:06:34 -07:00
2014-05-18 19:01:29 -07:00
2014-04-29 01:12:26 -04:00
2014-09-23 16:21:26 -04:00
2012-03-28 18:30:03 +01:00
2012-05-27 23:52:49 -07:00
2013-11-19 10:40:00 -08:00
2013-01-21 14:33:00 -08:00
2014-04-29 01:12:25 -04:00
2014-10-24 09:52:49 -07:00
2014-05-18 19:01:32 -07:00
2014-04-29 01:12:25 -04:00
2014-05-18 19:01:32 -07:00
2012-03-28 18:30:03 +01:00
2012-03-28 18:30:03 +01:00
2011-08-20 17:14:54 -07:00
2014-08-06 14:41:10 -07:00
2014-11-07 09:50:48 -08:00
2014-01-28 23:38:23 -08:00
2014-01-28 23:38:23 -08:00
2011-08-02 21:28:52 -07:00
2011-10-31 19:30:53 -04:00
2011-01-03 20:02:06 -07:00
2014-04-29 01:12:25 -04:00
2014-08-26 13:45:55 -04:00
2014-02-12 16:10:45 -05:00
2013-07-14 19:36:52 -04:00
2014-09-16 17:46:44 -07:00
2014-07-21 22:27:56 -07:00
2014-05-18 19:01:31 -07:00
2014-05-18 19:01:28 -07:00
2014-05-18 19:01:30 -07:00
2014-03-17 15:54:52 -04:00
2014-05-21 12:54:42 -07:00
2014-10-28 11:30:43 -07:00
2014-10-28 11:30:43 -07:00
2014-05-18 19:01:31 -07:00
2014-05-18 19:01:27 -07:00
2014-08-26 13:45:55 -04:00
2014-01-28 23:38:23 -08:00
2014-10-24 09:52:49 -07:00
2014-05-18 19:01:28 -07:00
2014-09-16 17:46:44 -07:00
2014-10-18 23:03:09 -04:00
2012-05-19 23:27:25 -07:00
2012-05-19 23:26:41 -07:00
2011-02-01 12:39:59 -08:00
2011-03-16 18:19:15 -07:00
2014-07-21 21:37:06 -07:00
2014-06-19 07:50:07 -10:00
2014-09-30 14:40:45 -07:00
2014-09-30 14:17:08 -07:00
2012-10-26 15:18:37 -07:00
2014-10-05 16:53:40 -07:00
2014-04-29 01:12:25 -04:00
2012-10-26 15:18:37 -07:00
2012-05-27 23:52:49 -07:00
2012-05-27 23:52:49 -07:00