[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.SOC.1.00.1204131444150.2736@math.ut.ee>
Date: Fri, 13 Apr 2012 14:55:12 +0300 (EEST)
From: mroos@...ux.ee
To: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
cc: David Miller <davem@...emloft.net>, shemminger@...tta.com,
Linux Kernel list <linux-kernel@...r.kernel.org>,
netdev@...r.kernel.org
Subject: Re: 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@...ux.vnet.ibm.com>
It works for me on Sun Fire V100 - no more RCU warnings under ping
flood.
Tested-by: Meelis Roos <mroos@...ux.ee>
--
Meelis Roos (mroos@...ux.ee)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists