Messages in this thread | | | Date | Mon, 5 Dec 2011 08:48:36 -0800 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH RFC tip/core/rcu 7/7] rcu: Quiet RCU-lockdep warnings involving interrupt disabling |
| |
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@gmail.com> > > > > > > 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 >
| |