Re: lockdep warning on rt_mutex_lock()

From: Fengguang Wu
Date: Tue Aug 21 2012 - 21:03:30 EST


On Tue, Aug 21, 2012 at 12:21:49PM -0700, Paul E. McKenney wrote:
> On Sat, Aug 18, 2012 at 12:59:08PM +0800, Fengguang Wu wrote:
> > On Fri, Aug 17, 2012 at 07:44:37AM -0700, Paul E. McKenney wrote:
> > > On Fri, Aug 17, 2012 at 10:02:40PM +0800, Fengguang Wu wrote:
> > > > On Fri, Aug 17, 2012 at 06:43:28AM -0700, Paul E. McKenney wrote:
> > > > > On Fri, Aug 17, 2012 at 06:06:35PM +0800, Fengguang Wu wrote:
> > > > > > Greetings,
> > > > > >
> > > > > > FYI, a lockdep warning:
> > > > >
> > > > > Certainly looks problematic!
> > > > >
> > > > > Any hint as to what version of the kernel produced this splat?
> > > > > (Yes, lazy of me to ask, I know, but I am not seeing it in my testing.)
> > > >
> > > > It happens on both 3.5.0 and 3.6-rc1. Will bisect (try older kernels) help?
> > > > Bisect is handy for me :)
> > >
> > > Bisection would be very welcome!!! ;-)
> >
> > The bisect result is...
>
> Hmmm... This patch is a bit of a blast from the past.
>
> > commit 9e571a82f0cb205a65a0ea41657f19f22b7fabb8
> > Author: Paul E. McKenney <paul.mckenney@xxxxxxxxxx>
> > Date: Thu Sep 30 21:26:52 2010 -0700
> >
> > rcu: add tracing for TINY_RCU and TINY_PREEMPT_RCU
> >
> > Add tracing for the tiny RCU implementations, including statistics on
> > boosting in the case of TINY_PREEMPT_RCU and RCU_BOOST.
> >
> > Signed-off-by: Paul E. McKenney <paul.mckenney@xxxxxxxxxx>
> > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
>
> So the lockdep complaint indicates that lockdep and the actual hardware
> had different opinions about whether or not interrupts were enabled.
> One way that can happen is through use of raw_local_irq_save(). And this
> commit did add a raw_local_irq_save().
>
> So maybe converting to local_irq_save() will make things work better.
>
> Fengguang, could you please try out the following patch?

It reliably fixed the warnings. Thank you very much!

Tested-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
--
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/