aboutsummaryrefslogtreecommitdiffstats
path: root/include
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 /include
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 'include')
-rw-r--r--include/linux/ftrace.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
index 5de9903645d5..91954eb6460f 100644
--- a/include/linux/ftrace.h
+++ b/include/linux/ftrace.h
@@ -5,6 +5,8 @@
5 5
6#include <linux/linkage.h> 6#include <linux/linkage.h>
7#include <linux/fs.h> 7#include <linux/fs.h>
8#include <linux/init.h>
9#include <linux/types.h>
8 10
9extern int ftrace_enabled; 11extern int ftrace_enabled;
10extern int 12extern int
@@ -209,4 +211,21 @@ ftrace_init_module(unsigned long *start, unsigned long *end) { }
209#endif 211#endif
210 212
211 213
214struct boot_trace {
215 pid_t caller;
216 initcall_t func;
217 int result;
218 unsigned long long duration;
219};
220
221#ifdef CONFIG_BOOT_TRACER
222extern void trace_boot(struct boot_trace *it);
223extern void start_boot_trace(void);
224#else
225static inline void trace_boot(struct boot_trace *it) { }
226static inline void start_boot_trace(void) { }
227#endif
228
229
230
212#endif /* _LINUX_FTRACE_H */ 231#endif /* _LINUX_FTRACE_H */