perf session: Move dump code to event delivery path
Preparatory patch for ordered perf report -D
Acked-by: Ian Munsie <imunsie@au1.ibm.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ian Munsie <imunsie@au1.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <peterz@infradead.org>
LKML-Reference: <20101207124550.918655066@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index d43e56c..7c5cc12 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -702,10 +702,13 @@
event_t *event,
struct sample_data *sample,
struct perf_event_ops *ops,
- u64 file_offset __used)
+ u64 file_offset)
{
+ dump_event(session, event, file_offset, sample);
+
switch (event->header.type) {
case PERF_RECORD_SAMPLE:
+ dump_sample(session, event, sample);
return ops->sample(event, sample, session);
case PERF_RECORD_MMAP:
return ops->mmap(event, sample, session);
@@ -747,10 +750,8 @@
if (event->header.type >= PERF_RECORD_USER_TYPE_START)
dump_event(session, event, file_offset, NULL);
- else {
+ else
event__parse_sample(event, session, &sample);
- dump_event(session, event, file_offset, &sample);
- }
/* These events are processed right away */
switch (event->header.type) {
@@ -765,7 +766,6 @@
return 0;
}
}
- dump_sample(session, event, &sample);
break;
case PERF_RECORD_HEADER_ATTR: