Paul E. McKenney
3d3eeb2ef2
sparc64: Eliminate obsolete __handle_softirq() function
...
The invocation of softirq is now handled by irq_exit(), so there is no
need for sparc64 to invoke it on the trap-return path. In fact, doing so
is a bug because if the trap occurred in the idle loop, this invocation
can result in lockdep-RCU failures. The problem is that RCU ignores idle
CPUs, and the sparc64 trap-return path to the softirq handlers fails to
tell RCU that the CPU must be considered non-idle while those handlers
are executing. This means that RCU is ignoring any RCU read-side critical
sections in those handlers, which in turn means that RCU-protected data
can be yanked out from under those read-side critical sections.
The shiny new lockdep-RCU ability to detect RCU read-side critical sections
that RCU is ignoring located this problem.
The fix is straightforward: Make sparc64 stop manually invoking the
softirq handlers.
Reported-by: Meelis Roos <mroos@linux.ee >
Suggested-by: David Miller <davem@davemloft.net >
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com >
Tested-by: Meelis Roos <mroos@linux.ee >
Cc: stable@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net >
2012-04-13 11:58:38 -07:00
..
2008-12-04 09:17:15 -08:00
2011-10-31 19:30:54 -04:00
2008-12-04 09:17:12 -08:00
2008-12-04 09:17:21 -08:00
2012-03-28 18:30:03 +01:00
2011-03-30 17:37:56 -07:00
2011-10-31 19:30:54 -04:00
2011-10-31 19:30:52 -04:00
2008-12-04 09:17:21 -08:00
2011-06-07 16:06:34 -07:00
2008-12-04 09:17:21 -08:00
2011-10-31 19:30:53 -04:00
2011-10-31 19:30:53 -04:00
2009-06-16 04:56:28 -07:00
2012-03-28 18:30:03 +01:00
2011-10-31 19:30:54 -04:00
2012-04-13 11:56:22 -07:00
2008-12-04 09:17:21 -08:00
2008-12-04 09:17:21 -08:00
2011-10-31 19:30:53 -04:00
2011-11-17 22:44:58 -08:00
2011-07-16 10:45:12 -07:00
2008-12-04 09:17:20 -08:00
2008-12-04 09:17:21 -08:00
2008-12-04 09:17:21 -08:00
2010-04-12 22:37:26 -07:00
2008-12-04 09:17:21 -08:00
2011-04-21 16:44:45 -07:00
2011-09-16 14:21:33 -07:00
2010-08-08 22:07:36 -07:00
2011-10-31 19:30:53 -04:00
2011-08-02 21:28:52 -07:00
2008-12-04 09:17:21 -08:00
2011-10-31 19:30:53 -04:00
2011-03-31 11:26:23 -03:00
2008-12-04 09:17:21 -08:00
2012-03-28 16:36:34 +02:00
2012-03-28 16:36:34 +02:00
2011-10-31 19:30:52 -04:00
2012-03-28 18:30:03 +01:00
2012-03-28 18:30:03 +01:00
2008-12-04 09:17:21 -08:00
2008-12-04 09:17:21 -08:00
2012-03-29 22:40:52 -07:00
2011-08-02 21:28:52 -07:00
2012-03-28 18:30:03 +01:00
2012-03-29 22:40:52 -07:00
2010-03-30 22:02:32 +09:00
2010-04-14 02:04:29 -07:00
2011-08-05 00:53:57 -07:00
2011-10-31 19:30:53 -04:00
2010-03-30 22:02:32 +09:00
2012-03-29 15:38:30 +10:30
2011-10-31 19:30:53 -04:00
2012-04-04 15:44:39 -07:00
2011-03-16 18:19:04 -07:00
2011-07-26 16:49:47 -07:00
2011-08-20 17:14:54 -07:00
2011-10-31 19:30:52 -04:00
2008-12-04 09:17:21 -08:00
2012-03-28 18:30:03 +01:00
2012-03-28 18:30:03 +01:00
2012-03-28 18:30:03 +01:00
2011-10-31 19:30:54 -04:00
2011-10-31 19:30:53 -04:00
2011-10-31 19:30:53 -04:00
2009-06-16 04:56:49 -07:00
2011-06-07 16:06:34 -07:00
2011-10-31 19:30:52 -04:00
2011-03-16 18:19:03 -07:00
2011-05-16 13:38:07 -07:00
2011-10-31 19:30:52 -04:00
2011-10-31 19:30:52 -04:00
2011-10-31 19:30:52 -04:00
2008-12-04 09:17:21 -08:00
2012-03-28 16:36:34 +02:00
2008-12-04 09:17:21 -08:00
2012-03-20 10:42:01 -07:00
2011-10-31 19:30:52 -04:00
2012-03-28 18:30:03 +01:00
2012-03-28 18:30:03 +01:00
2011-10-31 19:30:54 -04:00
2011-10-31 19:30:53 -04:00
2012-03-28 18:30:03 +01:00
2012-03-28 18:30:03 +01:00
2011-10-31 19:30:54 -04:00
2011-10-31 19:30:54 -04:00
2011-12-04 10:46:56 -08:00
2011-06-07 16:06:34 -07:00
2010-10-10 21:53:30 -06:00
2011-06-07 16:06:34 -07:00
2010-07-24 09:58:22 -06:00
2012-03-28 18:30:03 +01:00
2012-03-28 18:30:03 +01:00
2012-03-28 18:30:03 +01:00
2010-10-26 08:59:55 -07:00
2012-04-13 11:58:38 -07:00
2011-10-31 19:30:52 -04:00
2012-03-28 18:30:03 +01:00
2012-03-28 18:30:03 +01:00
2012-03-28 18:30:03 +01:00
2012-03-28 18:30:03 +01:00
2012-03-28 18:30:03 +01: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
2011-07-26 16:49:47 -07:00
2011-12-02 14:57:31 +01:00
2009-01-08 16:59:01 -08:00
2012-03-28 18:30:03 +01:00
2008-12-04 09:17:21 -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
2011-04-19 22:11:40 -07:00
2011-06-07 16:06:33 -07:00
2012-03-30 18:16:58 -07:00
2012-01-10 16:28:24 -08:00
2012-03-30 18:16:58 -07:00
2008-12-04 09:17:21 -08:00
2008-12-04 09:17:21 -08:00
2011-08-26 15:09:58 -07:00
2011-10-31 19:30:54 -04:00
2010-11-17 08:59:32 -08:00
2011-11-28 11:42:09 +11:00
2010-03-03 08:08:49 -08:00
2011-12-21 14:29:42 -08:00
2011-11-01 00:51:30 -07:00
2011-11-01 00:51:30 -07:00
2010-03-12 15:52:32 -08:00
2010-10-09 02:33:34 -06:00
2012-03-28 18:30:03 +01:00
2011-10-31 19:30:53 -04:00
2009-11-02 04:19:42 -08:00
2008-12-04 09:17:21 -08:00
2012-03-28 18:30:03 +01:00
2012-03-28 18:30:03 +01:00
2010-02-19 15:19:52 -08:00
2010-06-25 11:17:57 -07:00
2011-02-01 12:39:59 -08:00
2011-03-16 18:19:15 -07:00
2012-03-28 18:30:03 +01:00
2012-03-28 18:30:03 +01:00
2011-06-07 16:06:34 -07:00
2011-06-07 16:06:34 -07:00
2008-12-04 09:17:21 -08:00
2012-03-28 11:33:24 +11:00
2011-10-31 19:30:53 -04:00
2012-03-28 18:30:03 +01:00
2011-08-05 00:53:57 -07:00
2010-11-17 08:59:32 -08:00
2008-12-04 09:17:21 -08:00
2008-07-17 21:37:46 -07:00
2008-07-17 21:37:46 -07:00