perf tools: Emit clearer message for sys_perf_event_open ENOENT return
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]>
Signed-off-by David Ahern <[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
@@ -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
@@ -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