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

From: Peter Zijlstra
Date: Tue Dec 06 2011 - 05:32:57 EST


On Tue, 2011-12-06 at 18:05 +0800, Yong Zhang wrote:
> 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

Of course its legal (nobody will arrest you for it), but its also bloody
horrid.

> 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?

Maybe someone explain this mess first?
--
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/