aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorStephane Eranian <eranian@google.com>2010-05-28 06:08:01 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2010-06-05 08:32:24 -0400
commit761844b9c68b3c67b085265f92ac0675706cc3b3 (patch)
tree03b3466f0e098c6c5dfa7c6712d67f3a5528264d /tools
parent58cc1a9e3b11a84e66c4d3a4cc9073f2cb0ecabb (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>
Diffstat (limited to 'tools')
-rw-r--r--tools/perf/builtin-report.c5
-rw-r--r--tools/perf/util/event.c3
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;