aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace.h
diff options
context:
space:
mode:
authorFrédéric Weisbecker <fweisbec@gmail.com>2008-09-23 06:32:08 -0400
committerIngo Molnar <mingo@elte.hu>2008-10-14 04:38:47 -0400
commitd13744cd6e3fef373a3fe656ac349b4e7c49ff79 (patch)
tree7315ec5390bd4977ecf5d0b25d7ec5cf0440236a /kernel/trace/trace.h
parentaa5d9151f745b6ee6a236a1f109118034277eb92 (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.h4
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
10enum trace_type { 11enum 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};
35extern 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