diff options
author | Ian Rogers <irogers@google.com> | 2023-09-29 23:02:06 -0700 |
---|---|---|
committer | Namhyung Kim <namhyung@kernel.org> | 2023-10-04 22:28:07 -0700 |
commit | 0ddce121b038c553d6ec103f3b9fc399f99945e9 (patch) | |
tree | 6ebabb024002076689d61e5f388daeb6bf8a20ed /tools/perf/tests | |
parent | be7a4caa7c45bd4b0a39cdb260905b52a87c8688 (diff) |
perf test: Avoid system wide when not privileged
Switch the test program to sleep that makes more sense for system wide
events. Only enable system wide when root or not paranoid. This avoids
failures under some testing conditions like ARM cloud.
Signed-off-by: Ian Rogers <irogers@google.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20230930060206.2353141-1-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Diffstat (limited to 'tools/perf/tests')
-rwxr-xr-x | tools/perf/tests/shell/stat_all_metricgroups.sh | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/tools/perf/tests/shell/stat_all_metricgroups.sh b/tools/perf/tests/shell/stat_all_metricgroups.sh index cb35e488809a..f3e305649e2c 100755 --- a/tools/perf/tests/shell/stat_all_metricgroups.sh +++ b/tools/perf/tests/shell/stat_all_metricgroups.sh @@ -4,9 +4,21 @@ set -e -for m in $(perf list --raw-dump metricgroups); do +function ParanoidAndNotRoot() +{ + [ "$(id -u)" != 0 ] && [ "$(cat /proc/sys/kernel/perf_event_paranoid)" -gt $1 ] +} + +system_wide_flag="-a" +if ParanoidAndNotRoot 0 +then + system_wide_flag="" +fi + +for m in $(perf list --raw-dump metricgroups) +do echo "Testing $m" - perf stat -M "$m" -a true + perf stat -M "$m" $system_wide_flag sleep 0.01 done exit 0 |