Commit-ID:  06b234ec26fde8d0fce54030fe0858e218636410
Gitweb:     http://git.kernel.org/tip/06b234ec26fde8d0fce54030fe0858e218636410
Author:     Adrian Hunter <adrian.hun...@intel.com>
AuthorDate: Tue, 21 Jul 2015 12:44:05 +0300
Committer:  Arnaldo Carvalho de Melo <a...@redhat.com>
CommitDate: Thu, 23 Jul 2015 22:51:14 -0300

perf script: Don't assume evsel position of tracking events

The tracking event does not have to be the first event so replace
perf_evlist__first() with perf_evlist__id2evsel() which uses the event
ID to find the correct evsel.

Signed-off-by: Adrian Hunter <adrian.hun...@intel.com>
Acked-by: Peter Zijlstra (Intel) <pet...@infradead.org>
Tested-by: Jiri Olsa <jo...@redhat.com>
Cc: Andi Kleen <a...@linux.intel.com>
Cc: Mathieu Poirier <mathieu.poir...@linaro.org>
Cc: Pawel Moll <pawel.m...@arm.com>
Cc: Stephane Eranian <eran...@google.com>
Link: 
http://lkml.kernel.org/r/1437471846-26995-5-git-send-email-adrian.hun...@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com>
---
 tools/perf/builtin-script.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index 2777c64..8a8e2ea 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -661,7 +661,7 @@ static int process_comm_event(struct perf_tool *tool,
        struct thread *thread;
        struct perf_script *script = container_of(tool, struct perf_script, 
tool);
        struct perf_session *session = script->session;
-       struct perf_evsel *evsel = perf_evlist__first(session->evlist);
+       struct perf_evsel *evsel = perf_evlist__id2evsel(session->evlist, 
sample->id);
        int ret = -1;
 
        thread = machine__findnew_thread(machine, event->comm.pid, 
event->comm.tid);
@@ -695,7 +695,7 @@ static int process_fork_event(struct perf_tool *tool,
        struct thread *thread;
        struct perf_script *script = container_of(tool, struct perf_script, 
tool);
        struct perf_session *session = script->session;
-       struct perf_evsel *evsel = perf_evlist__first(session->evlist);
+       struct perf_evsel *evsel = perf_evlist__id2evsel(session->evlist, 
sample->id);
 
        if (perf_event__process_fork(tool, event, sample, machine) < 0)
                return -1;
@@ -727,7 +727,7 @@ static int process_exit_event(struct perf_tool *tool,
        struct thread *thread;
        struct perf_script *script = container_of(tool, struct perf_script, 
tool);
        struct perf_session *session = script->session;
-       struct perf_evsel *evsel = perf_evlist__first(session->evlist);
+       struct perf_evsel *evsel = perf_evlist__id2evsel(session->evlist, 
sample->id);
 
        thread = machine__findnew_thread(machine, event->fork.pid, 
event->fork.tid);
        if (thread == NULL) {
@@ -759,7 +759,7 @@ static int process_mmap_event(struct perf_tool *tool,
        struct thread *thread;
        struct perf_script *script = container_of(tool, struct perf_script, 
tool);
        struct perf_session *session = script->session;
-       struct perf_evsel *evsel = perf_evlist__first(session->evlist);
+       struct perf_evsel *evsel = perf_evlist__id2evsel(session->evlist, 
sample->id);
 
        if (perf_event__process_mmap(tool, event, sample, machine) < 0)
                return -1;
@@ -790,7 +790,7 @@ static int process_mmap2_event(struct perf_tool *tool,
        struct thread *thread;
        struct perf_script *script = container_of(tool, struct perf_script, 
tool);
        struct perf_session *session = script->session;
-       struct perf_evsel *evsel = perf_evlist__first(session->evlist);
+       struct perf_evsel *evsel = perf_evlist__id2evsel(session->evlist, 
sample->id);
 
        if (perf_event__process_mmap2(tool, event, sample, machine) < 0)
                return -1;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to