summaryrefslogtreecommitdiffstats
path: root/kernel/trace
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2012-05-31 21:40:05 -0400
committerSteven Rostedt <rostedt@goodmis.org>2012-06-14 15:22:14 -0400
commit7374e82771c6d5a9af2080be46f64a5826c7efb1 (patch)
tree999fccda8bc6ccf1b517143ca27b397931854d2e /kernel/trace
parent5da43bed800770906fca24deef7ae3d456823b86 (diff)
downloadop-kernel-dev-7374e82771c6d5a9af2080be46f64a5826c7efb1.zip
op-kernel-dev-7374e82771c6d5a9af2080be46f64a5826c7efb1.tar.gz
tracing: Register the ftrace internal events during early boot
All trace events including ftrace internel events (like trace_printk and function tracing), register functions that describe how to print their output. The events may be recorded as soon as the ring buffer is allocated, but they are just raw binary in the buffer. The mapping of event ids to how to print them are held within a structure that is registered on system boot. If a crash happens in boot up before these functions are registered then their output (via ftrace_dump_on_oops) will be useless: Dumping ftrace buffer: --------------------------------- <...>-1 0.... 319705us : Unknown type 6 --------------------------------- This can be quite frustrating for a kernel developer trying to see what is going wrong. There's no reason to register them so late in the boot up process. They can be registered by early_initcall(). Reported-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace')
-rw-r--r--kernel/trace/trace_output.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
index df611a0..123b189 100644
--- a/kernel/trace/trace_output.c
+++ b/kernel/trace/trace_output.c
@@ -1325,4 +1325,4 @@ __init static int init_events(void)
return 0;
}
-device_initcall(init_events);
+early_initcall(init_events);
OpenPOWER on IntegriCloud