diff options
author | Frédéric Weisbecker <fweisbec@gmail.com> | 2008-09-23 06:32:08 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-14 04:38:47 -0400 |
commit | d13744cd6e3fef373a3fe656ac349b4e7c49ff79 (patch) | |
tree | 7315ec5390bd4977ecf5d0b25d7ec5cf0440236a /kernel/trace/trace.h | |
parent | aa5d9151f745b6ee6a236a1f109118034277eb92 (diff) |
tracing/ftrace: add the boot tracer
Add the boot/initcall tracer.
It's primary purpose is to be able to trace the initcalls.
It is intended to be used with scripts/bootgraph.pl after some small
improvements.
Note that it is not active after its init. To avoid tracing (and so
crashing) before the whole tracing engine init, you have to explicitly
call start_boot_trace() after do_pre_smp_initcalls() to enable it.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/trace/trace.h')
-rw-r--r-- | kernel/trace/trace.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index cb2c3fb7dd54..b28bf8812efc 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h | |||
@@ -6,6 +6,7 @@ | |||
6 | #include <linux/sched.h> | 6 | #include <linux/sched.h> |
7 | #include <linux/clocksource.h> | 7 | #include <linux/clocksource.h> |
8 | #include <linux/mmiotrace.h> | 8 | #include <linux/mmiotrace.h> |
9 | #include <linux/ftrace.h> | ||
9 | 10 | ||
10 | enum trace_type { | 11 | enum trace_type { |
11 | __TRACE_FIRST_TYPE = 0, | 12 | __TRACE_FIRST_TYPE = 0, |
@@ -19,6 +20,7 @@ enum trace_type { | |||
19 | TRACE_SPECIAL, | 20 | TRACE_SPECIAL, |
20 | TRACE_MMIO_RW, | 21 | TRACE_MMIO_RW, |
21 | TRACE_MMIO_MAP, | 22 | TRACE_MMIO_MAP, |
23 | TRACE_BOOT, | ||
22 | 24 | ||
23 | __TRACE_LAST_TYPE | 25 | __TRACE_LAST_TYPE |
24 | }; | 26 | }; |
@@ -30,6 +32,7 @@ struct ftrace_entry { | |||
30 | unsigned long ip; | 32 | unsigned long ip; |
31 | unsigned long parent_ip; | 33 | unsigned long parent_ip; |
32 | }; | 34 | }; |
35 | extern struct tracer boot_tracer; | ||
33 | 36 | ||
34 | /* | 37 | /* |
35 | * Context switch trace entry - which task (and prio) we switched from/to: | 38 | * Context switch trace entry - which task (and prio) we switched from/to: |
@@ -108,6 +111,7 @@ struct trace_field { | |||
108 | struct print_entry print; | 111 | struct print_entry print; |
109 | struct mmiotrace_rw mmiorw; | 112 | struct mmiotrace_rw mmiorw; |
110 | struct mmiotrace_map mmiomap; | 113 | struct mmiotrace_map mmiomap; |
114 | struct boot_trace initcall; | ||
111 | }; | 115 | }; |
112 | }; | 116 | }; |
113 | 117 | ||