summaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace.h
diff options
context:
space:
mode:
authorIngo Molnar2008-05-12 21:20:47 +0200
committerThomas Gleixner2008-05-23 20:52:33 +0200
commitf0a920d5752e1788c0cba2add103076bcc0f7a49 (patch)
treedb9c5383c3464808570b1121e44f80b817f7f263 /kernel/trace/trace.h
parentftrace: bin-output (diff)
downloadkernel-qcow2-linux-f0a920d5752e1788c0cba2add103076bcc0f7a49.tar.gz
kernel-qcow2-linux-f0a920d5752e1788c0cba2add103076bcc0f7a49.tar.xz
kernel-qcow2-linux-f0a920d5752e1788c0cba2add103076bcc0f7a49.zip
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.h15
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 {
};
/*
+ * Special (free-form) trace entry:
+ */
+struct special_entry {
+ unsigned long arg1;
+ unsigned long arg2;
+ unsigned long arg3;
+};
+
+/*
* The trace entry - the most basic unit of tracing. This is what
* is printed in the end as a single line in the trace output, such as:
*
@@ -41,6 +50,7 @@ struct trace_entry {
union {
struct ftrace_entry fn;
struct ctx_switch_entry ctx;
+ struct special_entry special;
};
};
@@ -154,6 +164,11 @@ void tracing_sched_switch_trace(struct trace_array *tr,
struct task_struct *next,
unsigned long flags);
void tracing_record_cmdline(struct task_struct *tsk);
+void trace_special(struct trace_array *tr,
+ struct trace_array_cpu *data,
+ unsigned long arg1,
+ unsigned long arg2,
+ unsigned long arg3);
void tracing_start_function_trace(void);
void tracing_stop_function_trace(void);