aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_events_filter.c
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2009-04-10 13:52:20 -0400
committerSteven Rostedt <rostedt@goodmis.org>2009-04-14 12:58:00 -0400
commita59fd6027218bd7c994e39d14afe0242f895144f (patch)
treec22e6ff2924726319eac84c480eca72066bad660 /kernel/trace/trace_events_filter.c
parenttracing/events: move the ftrace event tracing code to core (diff)
downloadlinux-dev-a59fd6027218bd7c994e39d14afe0242f895144f.tar.xz
linux-dev-a59fd6027218bd7c994e39d14afe0242f895144f.zip
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 '')
-rw-r--r--kernel/trace/trace_events_filter.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c
index de42dad42a88..d30b06b02b4d 100644
--- a/kernel/trace/trace_events_filter.c
+++ b/kernel/trace/trace_events_filter.c
@@ -223,7 +223,7 @@ oom:
void filter_free_subsystem_preds(struct event_subsystem *system)
{
- struct ftrace_event_call *call = __start_ftrace_events;
+ struct ftrace_event_call *call;
int i;
if (system->n_preds) {
@@ -234,7 +234,7 @@ void filter_free_subsystem_preds(struct event_subsystem *system)
system->n_preds = 0;
}
- events_for_each(call) {
+ list_for_each_entry(call, &ftrace_events, list) {
if (!call->define_fields)
continue;
@@ -320,7 +320,7 @@ int filter_add_pred(struct ftrace_event_call *call, struct filter_pred *pred)
int filter_add_subsystem_pred(struct event_subsystem *system,
struct filter_pred *pred)
{
- struct ftrace_event_call *call = __start_ftrace_events;
+ struct ftrace_event_call *call;
if (system->n_preds && !pred->compound)
filter_free_subsystem_preds(system);
@@ -337,7 +337,7 @@ int filter_add_subsystem_pred(struct event_subsystem *system,
system->preds[system->n_preds] = pred;
- events_for_each(call) {
+ list_for_each_entry(call, &ftrace_events, list) {
int err;
if (!call->define_fields)