Messages in this thread | | | Date | Tue, 6 Dec 2011 18:05:37 +0800 | From | Yong Zhang <> | Subject | Re: [PATCH RFC tip/core/rcu 7/7] rcu: Quiet RCU-lockdep warnings involving interrupt disabling |
| |
On Tue, Dec 06, 2011 at 10:52:32AM +0100, Peter Zijlstra wrote: > On Tue, 2011-12-06 at 09:26 +0800, Yong Zhang wrote: > > > Yeah, because we call might_sleep() in rt_mutex_lock() unconditionally. > > But in this case the 'BUG: sleeping function called from invalid context > > at *' is obviously false positive. > > Why can't this mutex acquisition not block?
It could block. The issue it's legal to call rt_mutex_lock() with irqs disabled and we don't want might_sleep() bite us on this special case. When we are going to sleep, we re-enable irq in __rt_mutex_slowlock().
> > > Maybe we could teach might_sleep() about this special case? > > Sounds horrid.
Maybe, any alternative?
Thanks, Yong
| |