lkml.org 
[lkml]   [2012]   [Apr]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: suspicious RCU usage warnings in 3.3.0
> 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.
>
> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

It works for me on Sun Fire V100 - no more RCU warnings under ping
flood.

Tested-by: Meelis Roos <mroos@linux.ee>

--
Meelis Roos (mroos@linux.ee)


\
 
 \ /
  Last update: 2012-04-13 13:57    [W:0.053 / U:0.336 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site