From: Ian Rogers Date: Wed, 3 Dec 2025 21:47:04 +0000 (-0800) Subject: perf stat: When no events, don't report an error if there is none X-Git-Tag: v6.19-rc1~61^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9a8c343ef2f9769a33650b7429f5a83ecba8380;p=thirdparty%2Fkernel%2Flinux.git perf stat: When no events, don't report an error if there is none Events may fail to open as no supported CPUs were specified on the command line. In this case a confusing "error" message of "success" can be reported. Let's skip the error in that case. Before: ``` $ perf stat -C2048 -e cycles -- true WARNING: A requested CPU in '2048' is not supported by PMU 'cpu' (CPUs 0-7) for event 'cycles' Error: No supported events found. The sys_perf_event_open() syscall returned with 0 (Success) for event (cpu/unknown-hardware/). "dmesg | grep -i perf" may provide additional information. ``` After: ``` $ perf stat -C2048 -e cycles -- true WARNING: A requested CPU in '2048' is not supported by PMU 'cpu' (CPUs 0-7) for event 'cycles' Error: No supported events found. ``` Signed-off-by: Ian Rogers Tested-by: Thomas Richter Signed-off-by: Namhyung Kim --- diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index 6410115ed9c5e..bd3c3de8d2009 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c @@ -924,8 +924,10 @@ static int __run_perf_stat(int argc, const char **argv, int run_idx) } } if (!has_supported_counters && !stat_config.null_run) { - evsel__open_strerror(evlist__first(evsel_list), &target, open_err, - msg, sizeof(msg)); + if (open_err) { + evsel__open_strerror(evlist__first(evsel_list), &target, open_err, + msg, sizeof(msg)); + } ui__error("No supported events found.\n%s\n", msg); if (child_pid != -1)