diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-05-12 15:20:47 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2008-05-23 14:52:33 -0400 |
commit | f0a920d5752e1788c0cba2add103076bcc0f7a49 (patch) | |
tree | db9c5383c3464808570b1121e44f80b817f7f263 /kernel/trace/trace.h | |
parent | cb0f12aae8d085140d37ada351aa5a8e76c3f9b0 (diff) |
ftrace: add trace_special()
for ad-hoc tracing.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/trace/trace.h')
-rw-r--r-- | kernel/trace/trace.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index 27fa2d06f499..7bdfef35c05a 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h | |||
@@ -26,6 +26,15 @@ struct ctx_switch_entry { | |||
26 | }; | 26 | }; |
27 | 27 | ||
28 | /* | 28 | /* |
29 | * Special (free-form) trace entry: | ||
30 | */ | ||
31 | struct special_entry { | ||
32 | unsigned long arg1; | ||
33 | unsigned long arg2; | ||
34 | unsigned long arg3; | ||
35 | }; | ||
36 | |||
37 | /* | ||
29 | * The trace entry - the most basic unit of tracing. This is what | 38 | * The trace entry - the most basic unit of tracing. This is what |
30 | * is printed in the end as a single line in the trace output, such as: | 39 | * is printed in the end as a single line in the trace output, such as: |
31 | * | 40 | * |
@@ -41,6 +50,7 @@ struct trace_entry { | |||
41 | union { | 50 | union { |
42 | struct ftrace_entry fn; | 51 | struct ftrace_entry fn; |
43 | struct ctx_switch_entry ctx; | 52 | struct ctx_switch_entry ctx; |
53 | struct special_entry special; | ||
44 | }; | 54 | }; |
45 | }; | 55 | }; |
46 | 56 | ||
@@ -154,6 +164,11 @@ void tracing_sched_switch_trace(struct trace_array *tr, | |||
154 | struct task_struct *next, | 164 | struct task_struct *next, |
155 | unsigned long flags); | 165 | unsigned long flags); |
156 | void tracing_record_cmdline(struct task_struct *tsk); | 166 | void tracing_record_cmdline(struct task_struct *tsk); |
167 | void trace_special(struct trace_array *tr, | ||
168 | struct trace_array_cpu *data, | ||
169 | unsigned long arg1, | ||
170 | unsigned long arg2, | ||
171 | unsigned long arg3); | ||
157 | 172 | ||
158 | void tracing_start_function_trace(void); | 173 | void tracing_start_function_trace(void); |
159 | void tracing_stop_function_trace(void); | 174 | void tracing_stop_function_trace(void); |