[PATCH 07/10] perf session: Move dump code to event delivery path

From: Arnaldo Carvalho de Melo
Date: Thu Dec 09 2010 - 13:13:37 EST


From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

Preparatory patch for ordered perf report -D

Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Ian Munsie <imunsie@xxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
LKML-Reference: <20101207124550.918655066@xxxxxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/perf/util/session.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)

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 @@ static int perf_session_deliver_event(struct perf_session *session,
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 @@ static int perf_session__process_event(struct perf_session *session,

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 @@ static int perf_session__process_event(struct perf_session *session,
return 0;
}
}
- dump_sample(session, event, &sample);
break;

case PERF_RECORD_HEADER_ATTR:
--
1.6.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/