[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1406143198-20732-1-git-send-email-adrian.hunter@intel.com>
Date: Wed, 23 Jul 2014 22:19:57 +0300
From: Adrian Hunter <adrian.hunter@...el.com>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
Cc: Peter Zijlstra <peterz@...radead.org>,
David Ahern <dsahern@...il.com>,
Frederic Weisbecker <fweisbec@...il.com>,
Jiri Olsa <jolsa@...hat.com>,
Namhyung Kim <namhyung@...il.com>,
Paul Mackerras <paulus@...ba.org>,
Stephane Eranian <eranian@...gle.com>,
linux-kernel@...r.kernel.org
Subject: [PATCH 1/2] perf session: Add ability to 'skip' a non-piped event stream
A piped event stream may contain arbitary sized tracepoint
information following a PERF_RECORD_HEADER_TRACING_DATA
event. The position in the stream has to be 'skipped'
to match the start of the next event.
Provide the same ability to a non-piped event stream
to allow for Instruction Trace data that may also be
in a non-piped event stream.
Signed-off-by: Adrian Hunter <adrian.hunter@...el.com>
---
tools/perf/util/session.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index 8aa1be1..9d468e6 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -1320,6 +1320,7 @@ int __perf_session__process_events(struct perf_session *session,
union perf_event *event;
uint32_t size;
struct ui_progress prog;
+ int skip;
perf_tool__fill_defaults(tool);
@@ -1380,7 +1381,8 @@ more:
size = event->header.size;
if (size < sizeof(struct perf_event_header) ||
- perf_session__process_event(session, event, tool, file_pos) < 0) {
+ (skip = perf_session__process_event(session, event, tool, file_pos))
+ < 0) {
pr_err("%#" PRIx64 " [%#x]: failed to process type: %d\n",
file_offset + head, event->header.size,
event->header.type);
@@ -1388,6 +1390,9 @@ more:
goto out_err;
}
+ if (skip)
+ size += skip;
+
head += size;
file_pos += size;
--
1.8.3.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists