Re: [PATCH 1/2] tracing: Move enabling tracepoints to just after rcu_init()

From: Namhyung Kim
Date: Tue Jan 13 2015 - 20:11:43 EST


On Wed, Jan 14, 2015 at 08:12:40AM +0800, Wang Nan wrote:
> Ping...
>
> On 2015/1/9 12:06, Wang Nan wrote:
> > Hi Steven Rostedt,
> >
> > During studying your code we find a problem, please see below.
> >
> >>
> >> From: "Steven Rostedt (Red Hat)" <rostedt@xxxxxxxxxxx>
> >>
> >> Enabling tracepoints at boot up can be very useful. The tracepoint
> >> can be initialized right after RCU has been. There's no need to
> >> wait for the early_initcall() to be called. That's too late for some
> >> things that can use tracepoints for debugging. Move the logic to
> >> enable tracepoints out of the initcalls and into init/main.c to
> >> right after rcu_init().
> >>
> >> This also allows trace_printk() to be used early too.
> >>
> >> Link: http://lkml.kernel.org/r/alpine.DEB.2.11.1412121539300.16494@nanos
> >> Link: http://lkml.kernel.org/r/20141214164104.307127356@xxxxxxxxxxx
> >>
> >> Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
> >> Suggested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> >> Tested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> >> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> >> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
> >
> > [...]
> >
> >> +void __init trace_init(void)
> >> +{
> >> + tracer_alloc_buffers();
> >> + init_ftrace_syscalls();
> >> + trace_event_init();
> >> +}
> >> +
> >
> > [...]
> >
> >> +
> >> +void __init trace_event_init(void)
> >> +{
> >> + event_trace_memsetup();
> >> + init_ftrace_syscalls();
> >> + event_trace_enable();
> >> +}
> >> +
> >
> > init_ftrace_syscalls() get called twice by trace_init() and trace_event_init(), some resources are wasted.
> > At lease one of them can be removed.

I think it's more natural to keep it in the trace_event_init().

Thanks,
Namhyung
--
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/