Re: [RFC][PATCH 12/18 v2] ftrace: Disable RCU unsafe checker whenfunction graph is enabled

From: Paul E. McKenney
Date: Sat Aug 31 2013 - 16:59:18 EST


On Sat, Aug 31, 2013 at 04:42:17PM -0400, Steven Rostedt wrote:
> On Sat, 2013-08-31 at 12:55 -0700, Paul E. McKenney wrote:
> > On Sat, Aug 31, 2013 at 01:11:29AM -0400, Steven Rostedt wrote:
> > > From: "Steven Rostedt (Red Hat)" <rostedt@xxxxxxxxxxx>
> > >
> > > Having the RCU unsafe checker running when function graph is enabled
> > > can cause a live lock. That's because the RCU unsafe checker enables
> > > full lockdep debugging on RCU which does a lot of interal calls that
> > > may be traced by the function graph tacer. This adds quite a bit of
> >
> > s/tacer/tracer/ (Yeah, yeah, picky, picky!)
> >
> > > overhead and can possibly live lock the system.
> > >
> > > Just do not do the RCU unsafe checks when function graph tracer is
> > > enabled.
> > >
> > > Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
> >
> > One question: How does the user/tester/developer know that RCU-unsafe
> > checks have been disabled by function-graph tracing? Would it make
> > sense to print something to dmesg calling this out? Or do the transitions
> > happen too often?
>
> Ideally, (for 3.13) I plan on having this be a sysctl switch. That will
> be 1 or 0, depending on if it is enabled or not. But yeah, I can add a
> printk to show that the kernel changed it. It doesn't happen often, and
> mainly by a user (or selftest).

It would be good. Sooner or later someone is going to miss the fact
that they added an unsafe RCU read-side code sequence because they had
the checks suppressed during testing. It would be good to have a way
to see that this happened. ;-)

Thanx, Paul

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