lkml.org 
[lkml]   [2012]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 1/5] perf inject: fix broken perf inject -b
    Date
    perf inject -b was broken. It would not inject any build_id
    into the stream. Furthermore, it would strip samples from the
    stream.

    The reason was a missing initialization of the event attribute
    structure. The perf_tool.tool.attr() callback was pointing to
    a simple repipe. But there was no initialization of the internal
    data structures to keep track of events and event ids. That later
    caused event id lookups to fail, and sample would get removed.

    The patch simply adds back the call to perf_event__process_attr()
    to initialize the evlist structure and now build_ids are again
    injected.

    Signed-off-by: Stephane Eranian <eranian@google.com>
    ---
    tools/perf/builtin-inject.c | 5 +++++
    1 files changed, 5 insertions(+), 0 deletions(-)

    diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
    index 09c1061..3beab48 100644
    --- a/tools/perf/builtin-inject.c
    +++ b/tools/perf/builtin-inject.c
    @@ -60,6 +60,11 @@ static int perf_event__repipe_tracing_data_synth(union perf_event *event,
    static int perf_event__repipe_attr(union perf_event *event,
    struct perf_evlist **pevlist __used)
    {
    + int ret;
    + ret = perf_event__process_attr(event, pevlist);
    + if (ret)
    + return ret;
    +
    return perf_event__repipe_synth(NULL, event, NULL);
    }

    --
    1.7.4.1


    \
     
     \ /
      Last update: 2012-05-15 15:02    [W:4.644 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site