aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2011-04-29 10:11:03 -0400
committerIngo Molnar <mingo@elte.hu>2011-04-29 10:22:33 -0400
commit370faf1dd0461ad811852c8abbbcd3d73b1e4fc4 (patch)
tree6933cc889ea07a0dc0841d9af90304a39cf09ec0 /tools
parentfce3c786d3a49eff397583b4b62fa38df90db937 (diff)
perf stat: Fail softly on unsupported events
David Ahern reported this perf stat failure: > # /tmp/build-perf/perf stat -- sleep 1 > Error: stalled-cycles-frontend event is not supported. > Fatal: Not all events could be opened. > > This is a Dell R410 with an E5620 processor. Fail in a softer fashion on unknown/unsupported events. Reported-by: David Ahern <dsahern@gmail.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Link: http://lkml.kernel.org/n/tip-7y40wib8n006io7hjpn1dsrm@git.kernel.org Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools')
-rw-r--r--tools/perf/builtin-stat.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index 9e596ab98d05..c8b535bc27bd 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -377,7 +377,7 @@ static int run_perf_stat(int argc __used, const char **argv)
377 377
378 list_for_each_entry(counter, &evsel_list->entries, node) { 378 list_for_each_entry(counter, &evsel_list->entries, node) {
379 if (create_perf_stat_counter(counter) < 0) { 379 if (create_perf_stat_counter(counter) < 0) {
380 if (errno == EINVAL || errno == ENOSYS) 380 if (errno == EINVAL || errno == ENOSYS || errno == ENOENT)
381 continue; 381 continue;
382 382
383 if (errno == EPERM || errno == EACCES) { 383 if (errno == EPERM || errno == EACCES) {
@@ -385,8 +385,6 @@ static int run_perf_stat(int argc __used, const char **argv)
385 "\t Consider tweaking" 385 "\t Consider tweaking"
386 " /proc/sys/kernel/perf_event_paranoid or running as root.", 386 " /proc/sys/kernel/perf_event_paranoid or running as root.",
387 system_wide ? "system-wide " : ""); 387 system_wide ? "system-wide " : "");
388 } else if (errno == ENOENT) {
389 error("%s event is not supported. ", event_name(counter));
390 } else { 388 } else {
391 error("open_counter returned with %d (%s). " 389 error("open_counter returned with %d (%s). "
392 "/bin/dmesg may provide additional information.\n", 390 "/bin/dmesg may provide additional information.\n",