Skip to contentSkip to conversation

perf tools: Emit clearer message for sys_perf_event_open ENOENT return

PATCH New David Ahern 1 participant 1 message Jan 13, 2011 perf events

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 perf tools: Emit clearer message for sys_perf_event_open ENOENT return

Improve sys_perf_event_open ENOENT return handling in top and record, just like 5a3446b does for stat.

Retry of Arnaldo's patch using error instead of die which allows the fallback from hardware cycles to software clock.

Cc Arnaldo Carvalho de Melo <[email protected]>
Cc Frederic Weisbecker <[email protected]>
Cc Ingo Molnar <[email protected]>
Cc Mike Galbraith <[email protected]>
Cc Paul Mackerras <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Stephane Eranian <[email protected]>
Cc Tom Zanussi <[email protected]>
---
 tools/perf/builtin-record.c |    2 ++
 tools/perf/builtin-top.c    |    3 +++
 2 files changed, 5 insertions(+), 0 deletions(-)
tools/perf/builtin-record.c +2 -0
index 7bc0490..fe24c19 100644
@@ -331,6 +331,8 @@ try_again:
 			else if (err ==  ENODEV && cpu_list) {
 				die("No such device - did you specify"
 					" an out-of-range profile CPU?\n");
+			} else if (err ==  ENOENT) {
+				error("%s event is not supported.", event_name(evsel));
 			} else if (err == EINVAL && sample_id_all_avail) {
 				/*
 				 * Old kernel, no attr->sample_id_type_all field
tools/perf/builtin-top.c +3 -0
index 1e67ab9..b144353 100644
@@ -1247,6 +1247,9 @@ try_again:
 				die("Permission error - are you root?\n"
 					"\t Consider tweaking"
 					" /proc/sys/kernel/perf_event_paranoid.\n");
+			else if (err == ENOENT)
+				error("%s event is not supported.", event_name(evsel));
+
 			/*
 			 * If it's cycles then fall back to hrtimer
 			 * based cpu-clock-tick sw counter, which
Signature · 1 line
1.7.3.4