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>
This commit is contained in:
Ian Rogers 2023-09-29 23:02:06 -07:00 committed by Namhyung Kim
parent be7a4caa7c
commit 0ddce121b0

View File

@ -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