perf session: Move dump code to event delivery path
authorThomas Gleixner <tglx@linutronix.de>
Tue, 7 Dec 2010 12:48:55 +0000 (12:48 +0000)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 9 Dec 2010 14:10:53 +0000 (12:10 -0200)
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>
tools/perf/util/session.c

index d43e56cd6f28e159dd131a4ac750d3720f638bad..7c5cc129207ab3e2088ae902b87ef75fe6bca1fd 100644 (file)
@@ -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: