Re: [PATCH RFC tip/core/rcu 7/7] rcu: Quiet RCU-lockdep warningsinvolving interrupt disabling

From: Paul E. McKenney
Date: Mon Dec 05 2011 - 11:55:45 EST


On Mon, Dec 05, 2011 at 06:03:46PM +0800, Yong Zhang wrote:
> On Mon, Dec 05, 2011 at 10:41:36AM +0100, Peter Zijlstra wrote:
> > On Sat, 2011-12-03 at 10:34 -0800, Paul E. McKenney wrote:
> > > From: Yong Zhang <yong.zhang0@xxxxxxxxx>
> > >
> > > RCU-lockdep will issue warnings given the following use pattern:
> > >
> > > rcu_read_lock();
> > > local_irq_disable();
> > > rcu_read_unlock();
> > > local_irq_enable();
> > >
> > > However, this use pattern is legal except for the scheduler's runqueue
> > > and priority-inheritance locks (and any other locks that the scheduler
> > > might use during priority-inheritance operations).
> >
> > So what does this patch do? Make it not complain when you do the above?
>
> It suppose to not complain but it bring other complain :(

Again, even with commit #5342e269b applied?

> > How often does this pattern actually happen?
>
> IIRC, we have just one which is cured by commit [a841796: signal: align
> __lock_task_sighand() irq disabling and RCU]
>
> > Can't be that often
> > otherwise we'd have had more complaints, no?

Maybe, maybe not. To see the complaint, you have to have RCU_BOOST=y.
This is used heavily in -rt, but I bet that there are config options that
don't see much use in -rt.

With this one, prevention is better than after-the-fact cure.

Thanx, Paul

> Yeah,
>
> So that also means we don't dedicated lock_class_key for mtx.wait_lock.
>
> Thanks,
> Yong
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/