Messages in this thread | | | Date | Tue, 27 Jan 2015 15:16:59 -0800 | From | "Paul E. McKenney" <> | Subject | Re: rcu, sched: WARNING: CPU: 30 PID: 23771 at kernel/rcu/tree_plugin.h:337 rcu_read_unlock_special+0x369/0x550() |
| |
On Tue, Jan 27, 2015 at 05:08:21PM -0500, Sasha Levin wrote: > On 01/27/2015 05:03 PM, Paul E. McKenney wrote: > > On Mon, Jan 26, 2015 at 10:08:04AM +0800, Lai Jiangshan wrote: > >> > On 01/25/2015 05:18 AM, Paul E. McKenney wrote: > >> > > >>> > > > >>> > > Good point! In my scenario, CPU 0 would not yet have switched away from > >>> > > Task A. Hmmm... Yet Sasha really does see this failure. Will give it > >>> > > some more thought. > >>> > > > >>> > > Any ideas? > >> > > >> > I don't known which commit was merged from the rcu-git-tree in Sasha's test > >> > I try to review it. > > If I had to guess, it would be 1d082fd06188 (Remove local_irq_disable() > > in rcu_preempt_note_context_switch()), though his finding this might be > > more directly related to increases in trinity's levels of stress. > > Quick update from my end: I've stopped seeing this warning, but I've also stopped > seeing warnings for the other RCU issue I've reported (https://lkml.org/lkml/2015/1/22/676) > so I'm slightly unhappy about that.
Another approach would be to remove that patch and then revert 1d082fd06188.
Either way, may I have your Tested-by?
> >> > We can fallback to git-bitsect if the reviews fails. > > One (very unlikely) possibility is that Sasha's compiler is ignoring the > > barrier() in rcu_preempt_qs(). > > I'm actually running the latest gcc (trunk) as well, so it's very possible that it was > doing something stupid.
Hmmmm... Could you please send along the assembly output for rcu_preempt_qs()?
Thanx, Paul
| |