diff options
author | Steven Rostedt <srostedt@redhat.com> | 2009-04-10 14:53:50 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2009-04-14 12:58:03 -0400 |
commit | 6d723736e472f7a0cd5b62c84152fceead241328 (patch) | |
tree | 8df2f6c47ebdfdeb8979758c877a5abbd9c06aef /include/linux/ftrace_event.h | |
parent | 17c873ec280a03894bc718af817f7f24fa787ae1 (diff) |
tracing/events: add support for modules to TRACE_EVENT
Impact: allow modules to add TRACE_EVENTS on load
This patch adds the final hooks to allow modules to use the TRACE_EVENT
macro. A notifier and a data structure are used to link the TRACE_EVENTs
defined in the module to connect them with the ftrace event tracing system.
It also adds the necessary automated clean ups to the trace events when a
module is removed.
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'include/linux/ftrace_event.h')
-rw-r--r-- | include/linux/ftrace_event.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h index 17810853b4f8..75f3ac01a87c 100644 --- a/include/linux/ftrace_event.h +++ b/include/linux/ftrace_event.h | |||
@@ -7,6 +7,7 @@ | |||
7 | 7 | ||
8 | struct trace_array; | 8 | struct trace_array; |
9 | struct tracer; | 9 | struct tracer; |
10 | struct dentry; | ||
10 | 11 | ||
11 | /* | 12 | /* |
12 | * The trace entry - the most basic unit of tracing. This is what | 13 | * The trace entry - the most basic unit of tracing. This is what |
@@ -87,6 +88,7 @@ struct ftrace_event_call { | |||
87 | char *name; | 88 | char *name; |
88 | char *system; | 89 | char *system; |
89 | struct dentry *dir; | 90 | struct dentry *dir; |
91 | struct trace_event *event; | ||
90 | int enabled; | 92 | int enabled; |
91 | int (*regfunc)(void); | 93 | int (*regfunc)(void); |
92 | void (*unregfunc)(void); | 94 | void (*unregfunc)(void); |
@@ -97,6 +99,7 @@ struct ftrace_event_call { | |||
97 | struct list_head fields; | 99 | struct list_head fields; |
98 | int n_preds; | 100 | int n_preds; |
99 | struct filter_pred **preds; | 101 | struct filter_pred **preds; |
102 | void *mod; | ||
100 | 103 | ||
101 | #ifdef CONFIG_EVENT_PROFILE | 104 | #ifdef CONFIG_EVENT_PROFILE |
102 | atomic_t profile_count; | 105 | atomic_t profile_count; |