Messages in this thread | | | Date | Fri, 9 Jan 2015 12:06:21 +0800 | From | Wang Nan <> | Subject | Re: [PATCH 1/2] tracing: Move enabling tracepoints to just after rcu_init() |
| |
Hi Steven Rostedt,
During studying your code we find a problem, please see below.
> > From: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org> > > 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@goodmis.org > > Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> > Suggested-by: Thomas Gleixner <tglx@linutronix.de> > Tested-by: Thomas Gleixner <tglx@linutronix.de> > Acked-by: Thomas Gleixner <tglx@linutronix.de> > Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
[...]
> +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.
In addition, could you please have a look at my early kprobe patch series?
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-January/313835.html
Which enables kprobe very early, even before memory initialized. I think it is possible to combine these early tracing facilities together.
Thank you!
| |