lkml.org 
[lkml]   [2011]   [Aug]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 04/10] tracing/filter: Simplify tracepoint event lookup
    Date
    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>
    ---
    kernel/trace/trace_events_filter.c | 9 +++------
    1 files changed, 3 insertions(+), 6 deletions(-)

    diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c
    index 97b93f3..0948905 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;
    --
    1.7.1


    \
     
     \ /
      Last update: 2011-08-04 12:11    [W:0.020 / U:59.636 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site