Messages in this thread | | | Date | Tue, 3 Feb 2009 06:29:13 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH 2/3] trace: fix default boot up tracer |
| |
* Steven Rostedt <rostedt@goodmis.org> wrote:
> From: Steven Rostedt <srostedt@redhat.com> > > Peter Zijlstra started the functionality to start up a default > tracing at bootup. This patch finishes the work. > > Now if you add 'ftrace=<tracer>' to the command line, when that tracer > is registered on bootup, that tracer is selected and starts tracing. > > Note, all selftests for tracers that are registered after this tracer > is disabled. This prevents the selftests from disturbing the running > tracer, or the running tracer from disturbing the selftest. > > Signed-off-by: Steven Rostedt <srostedt@redhat.com> > --- > kernel/trace/trace.c | 60 +++++++++++++++++++++++++++++++++++++++++++++----- > 1 files changed, 54 insertions(+), 6 deletions(-)
applied to tip/tracing/ftrace, thanks Steve!
This portion is a bit ugly:
> - lock_kernel(); > > + if (!ret && default_bootup_tracer) { > + if (!strncmp(default_bootup_tracer, type->name, > + BOOTUP_TRACER_SIZE)) { > + printk(KERN_INFO "Starting tracer '%s'\n", > + type->name); > + /* Do we want this tracer to start on bootup? */ > + tracing_set_tracer(type->name); > + default_bootup_tracer = NULL; > + /* disable other selftests, since this will break it. */ > + tracing_selftest_disabled = 1; > +#ifdef CONFIG_FTRACE_STARTUP_TEST > + printk(KERN_INFO "Disabling FTRACE selftests due" > + " to running tracer '%s'\n", type->name); > +#endif > + } > + } > + > + lock_kernel(); > return ret;
This could be done as:
if (ret || default_bootup_tracer) goto out_relock;
if (strncmp(default_bootup_tracer, type->name, BOOTUP_TRACER_SIZE)) goto out_relock;
...
out_relock: lock_kernel(); return ret;
And we lose a lot of crappy linebreaks that way as well - beyond making the purpose of the BKL bits clearer. Hm?
Ingo
| |