summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@redhat.com>2011-08-11 16:25:48 +0200
committerSteven Rostedt <rostedt@goodmis.org>2011-08-19 20:35:53 +0200
commit3f78f935e7fec3067b7990f9e4d324e1de70f79c (patch)
treea8152f5be2e5fb72b51baf872bd36ffa1d9d4dcf
parenttracing/filter: Remove field_name from filter_pred struct (diff)
downloadlinux-3f78f935e7fec3067b7990f9e4d324e1de70f79c.tar.xz
linux-3f78f935e7fec3067b7990f9e4d324e1de70f79c.zip
tracing/filter: Simplify tracepoint event lookup
We dont need to perform lookup through the ftrace_events list, instead we can use the 'tp_event' field. Each perf_event contains tracepoint event field 'tp_event', which got initialized during the tracepoint event initialization. Signed-off-by: Jiri Olsa <jolsa@redhat.com> Link: http://lkml.kernel.org/r/1313072754-4620-5-git-send-email-jolsa@redhat.com Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r--kernel/trace/trace_events_filter.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c
index 97b93f31884b..0948905dd39c 100644
--- a/kernel/trace/trace_events_filter.c
+++ b/kernel/trace/trace_events_filter.c
@@ -1894,17 +1894,14 @@ int ftrace_profile_set_filter(struct perf_event *event, int event_id,
int err;
struct event_filter *filter;
struct filter_parse_state *ps;
- struct ftrace_event_call *call = NULL;
+ struct ftrace_event_call *call;
mutex_lock(&event_mutex);
- list_for_each_entry(call, &ftrace_events, list) {
- if (call->event.type == event_id)
- break;
- }
+ call = event->tp_event;
err = -EINVAL;
- if (&call->list == &ftrace_events)
+ if (!call)
goto out_unlock;
err = -EEXIST;