mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 04:56:13 +02:00
perf test: Be more tolerant of metricgroup failures
Previously "set -e" meant any non-zero exit code from perf stat would cause a test failure. As a non-zero exit happens when there aren't sufficient permissions, check for this case and make the exit code 2/skip for it. Signed-off-by: Ian Rogers <irogers@google.com> Acked-by: Namhyung Kim <namhyung@kernel.org> Acked-by: Veronika Molnarova <vmolnaro@redhat.com> Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Link: https://lore.kernel.org/r/20240502223115.2357499-1-irogers@google.com Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
parent
1de5b5dcb8
commit
c940a66b3a
|
|
@ -1,9 +1,7 @@
|
|||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf all metricgroups test
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
set -e
|
||||
|
||||
ParanoidAndNotRoot()
|
||||
{
|
||||
[ "$(id -u)" != 0 ] && [ "$(cat /proc/sys/kernel/perf_event_paranoid)" -gt $1 ]
|
||||
|
|
@ -14,11 +12,37 @@ if ParanoidAndNotRoot 0
|
|||
then
|
||||
system_wide_flag=""
|
||||
fi
|
||||
|
||||
err=0
|
||||
for m in $(perf list --raw-dump metricgroups)
|
||||
do
|
||||
echo "Testing $m"
|
||||
perf stat -M "$m" $system_wide_flag sleep 0.01
|
||||
result=$(perf stat -M "$m" $system_wide_flag sleep 0.01 2>&1)
|
||||
result_err=$?
|
||||
if [[ $result_err -gt 0 ]]
|
||||
then
|
||||
if [[ "$result" =~ \
|
||||
"Access to performance monitoring and observability operations is limited" ]]
|
||||
then
|
||||
echo "Permission failure"
|
||||
echo $result
|
||||
if [[ $err -eq 0 ]]
|
||||
then
|
||||
err=2 # Skip
|
||||
fi
|
||||
elif [[ "$result" =~ "in per-thread mode, enable system wide" ]]
|
||||
then
|
||||
echo "Permissions - need system wide mode"
|
||||
echo $result
|
||||
if [[ $err -eq 0 ]]
|
||||
then
|
||||
err=2 # Skip
|
||||
fi
|
||||
else
|
||||
echo "Metric group $m failed"
|
||||
echo $result
|
||||
err=1 # Fail
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
exit 0
|
||||
exit $err
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user