diff options
author | Steven Rostedt <srostedt@redhat.com> | 2009-04-10 13:52:20 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2009-04-14 12:58:00 -0400 |
commit | a59fd6027218bd7c994e39d14afe0242f895144f (patch) | |
tree | c22e6ff2924726319eac84c480eca72066bad660 /kernel/trace/trace.h | |
parent | f42c85e74faa422cf0bc747ed808681145448f88 (diff) |
tracing/events: convert event call sites to use a link list
Impact: makes it possible to define events in modules
The events are created by reading down the section that they are linked
in by the macros. But this is not scalable to modules. This patch converts
the manipulations to use a global link list, and on boot up it adds
the items in the section to the list.
This change will allow modules to add their tracing events to the list as
well.
Note, this change alone does not permit modules to use the TRACE_EVENT macros,
but the change is needed for them to eventually do so.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace.h')
-rw-r--r-- | kernel/trace/trace.h | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index 6bcdf4af9b2d..8817c18ef97a 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h | |||
@@ -739,11 +739,6 @@ struct event_subsystem { | |||
739 | struct filter_pred **preds; | 739 | struct filter_pred **preds; |
740 | }; | 740 | }; |
741 | 741 | ||
742 | #define events_for_each(event) \ | ||
743 | for (event = __start_ftrace_events; \ | ||
744 | (unsigned long)event < (unsigned long)__stop_ftrace_events; \ | ||
745 | event++) | ||
746 | |||
747 | struct filter_pred; | 742 | struct filter_pred; |
748 | 743 | ||
749 | typedef int (*filter_pred_fn_t) (struct filter_pred *pred, void *event); | 744 | typedef int (*filter_pred_fn_t) (struct filter_pred *pred, void *event); |
@@ -785,13 +780,7 @@ filter_check_discard(struct ftrace_event_call *call, void *rec, | |||
785 | return 0; | 780 | return 0; |
786 | } | 781 | } |
787 | 782 | ||
788 | extern struct ftrace_event_call __start_ftrace_events[]; | 783 | extern struct list_head ftrace_events; |
789 | extern struct ftrace_event_call __stop_ftrace_events[]; | ||
790 | |||
791 | #define for_each_event(event) \ | ||
792 | for (event = __start_ftrace_events; \ | ||
793 | (unsigned long)event < (unsigned long)__stop_ftrace_events; \ | ||
794 | event++) | ||
795 | 784 | ||
796 | extern const char *__start___trace_bprintk_fmt[]; | 785 | extern const char *__start___trace_bprintk_fmt[]; |
797 | extern const char *__stop___trace_bprintk_fmt[]; | 786 | extern const char *__stop___trace_bprintk_fmt[]; |