Messages in this thread | | | Date | Fri, 23 Jan 2015 15:16:06 -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 Fri, Jan 23, 2015 at 06:05:25PM -0500, Sasha Levin wrote: > On 01/23/2015 05:54 PM, Paul E. McKenney wrote: > > On Fri, Jan 23, 2015 at 04:51:52PM -0500, Sasha Levin wrote: > >> > On 01/23/2015 04:36 AM, Paul E. McKenney wrote: > >>> > > diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h > >>> > > index 8669de884445..ec99dc16aa38 100644 > >>> > > --- a/kernel/rcu/tree_plugin.h > >>> > > +++ b/kernel/rcu/tree_plugin.h > >>> > > @@ -322,6 +322,7 @@ void rcu_read_unlock_special(struct task_struct *t) > >>> > > special = t->rcu_read_unlock_special; > >>> > > if (special.b.need_qs) { > >>> > > rcu_preempt_qs(); > >>> > > + t->rcu_read_unlock_special.need_qs = false; > >> > > >> > It didn't compile, I've used: > >> > > >> > t->rcu_read_unlock_special.b.need_qs = false; > > Apologies, I should have marked it "untested". Good show on finding > > the correct fix. > > > > But does your fixed version help? ;-) > > I haven't seen it happening it again, but you won't get a "yes" out of me > until tomorrow evening :)
Fair enough! ;-)
Thanx, Paul
| |