Re: [RFC][PATCH 11/18 v2] ftrace: Adde infrastructure to stop RCUunsafe checker from checking
From: Steven Rostedt
Date: Sat Aug 31 2013 - 16:40:18 EST
On Sat, 2013-08-31 at 12:52 -0700, Paul E. McKenney wrote:
> On Sat, Aug 31, 2013 at 01:11:28AM -0400, Steven Rostedt wrote:
> > From: "Steven Rostedt (Red Hat)" <rostedt@xxxxxxxxxxx>
> >
> > This is a light weight way to keep the rcu checker from checking
> > RCU safety. It adds a ftrace_unsafe_rcu_checker_disable/enable()
> > that increments or decrements a counter respectively. When the
> > counter is set, the RCU unsafe checker callback does not run the
> > tests to see if RCU is safe or not.
>
> Please add something saying what we do instead of testing RCU safety.
> Looks to me like it skips not only the tests, but also invoking the
> callback, but I could easily be wrong.
Yeah, the change log sucks. I wrote the change logs after 1am and was
half asleep. I see I wrote "Add" as "Adde" ;-)
>
> > This is required by the graph tracer because the checks can cause
> > the graph tracer to live lock the system by its own calls.
> >
> > It's also needed by the irqsoff tracer, because it may be called
> > in RCU unsafe regions and if its internal functions get traced
> > then the RCU unsafe checker may have some false positives.
> >
> > Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
>
> With the augmented commit log as noted above:
>
> Acked-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
>
Thanks, come Tuesday, I'll update the logs.
-- Steve
> > ---
> > kernel/trace/trace.h | 12 +++++++++---
> > kernel/trace/trace_functions.c | 15 +++++++++++++++
> > 2 files changed, 24 insertions(+), 3 deletions(-)
> >
> > diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
> > index e551316..58e4c37 100644
> > --- a/kernel/trace/trace.h
> > +++ b/kernel/trace/trace.h
> > @@ -760,9 +760,6 @@ static inline int ftrace_graph_addr(unsigned long addr)
--
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/