diff options
author | Stephane Eranian <eranian@google.com> | 2010-05-28 06:08:01 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2010-06-05 08:32:24 -0400 |
commit | 761844b9c68b3c67b085265f92ac0675706cc3b3 (patch) | |
tree | 03b3466f0e098c6c5dfa7c6712d67f3a5528264d | |
parent | 58cc1a9e3b11a84e66c4d3a4cc9073f2cb0ecabb (diff) |
perf report: Make -D print sampled CPU
It is useful to know on which CPU a sample was captured on.
The information is captured with perf record -R but it was
not printed out by perf report -D. This patch adds this.
When -R is not used, cpu is set to -1to indicate that
the CPU is unknown (it is not captured).
Cc: David S. Miller <davem@davemloft.net>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <4bff964c.e88cd80a.3106.7d31@mx.google.com>
Signed-off-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/perf/builtin-report.c | 5 | ||||
-rw-r--r-- | tools/perf/util/event.c | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index 359205782964..207da1849800 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c | |||
@@ -157,8 +157,9 @@ static int process_sample_event(event_t *event, struct perf_session *session) | |||
157 | 157 | ||
158 | event__parse_sample(event, session->sample_type, &data); | 158 | event__parse_sample(event, session->sample_type, &data); |
159 | 159 | ||
160 | dump_printf("(IP, %d): %d/%d: %#Lx period: %Ld\n", event->header.misc, | 160 | dump_printf("(IP, %d): %d/%d: %#Lx period: %Ld cpu:%d\n", |
161 | data.pid, data.tid, data.ip, data.period); | 161 | event->header.misc, data.pid, data.tid, data.ip, |
162 | data.period, data.cpu); | ||
162 | 163 | ||
163 | if (session->sample_type & PERF_SAMPLE_CALLCHAIN) { | 164 | if (session->sample_type & PERF_SAMPLE_CALLCHAIN) { |
164 | unsigned int i; | 165 | unsigned int i; |
diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c index 1f08f008d289..891753255f54 100644 --- a/tools/perf/util/event.c +++ b/tools/perf/util/event.c | |||
@@ -765,7 +765,8 @@ int event__parse_sample(event_t *event, u64 type, struct sample_data *data) | |||
765 | u32 *p = (u32 *)array; | 765 | u32 *p = (u32 *)array; |
766 | data->cpu = *p; | 766 | data->cpu = *p; |
767 | array++; | 767 | array++; |
768 | } | 768 | } else |
769 | data->cpu = -1; | ||
769 | 770 | ||
770 | if (type & PERF_SAMPLE_PERIOD) { | 771 | if (type & PERF_SAMPLE_PERIOD) { |
771 | data->period = *array; | 772 | data->period = *array; |