a6bdb815ad
Fixed shellcheck warning SC2076 in stat_all_metrics.sh. Before the patch: shell$ shellcheck stat_all_metrics.sh In stat_all_metrics.sh line 9: if [[ "$result" =~ "${m:0:50}" ]] || [[ "$result" =~ "<not supported>" ]] ^---------^ SC2076: Don't quote right-hand side of =~, it'll match literally rather than as a regex. In stat_all_metrics.sh line 15: if [[ "$result" =~ "${m:0:50}" ]] ^---------^ SC2076: Don't quote right-hand side of =~, it'll match literally rather than as a regex. In stat_all_metrics.sh line 22: if [[ "$result" =~ "${m:0:50}" ]] ^---------^ SC2076: Don't quote right-hand side of =~, it'll match literally rather than as a regex. After the patch: shell$ shellcheck stat_all_metrics.sh shell$ Signed-off-by: Barnali Guha Thakurata <barnali@linux.ibm.com> Cc: Disha Goel <disgoel@linux.vnet.ibm.com> Cc: Ian Rogers <irogers@google.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: John Garry <john.g.garry@oracle.com> Cc: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Ravi Bangoria <ravi.bangoria@amd.com> Cc: linuxppc-dev@lists.ozlabs.org Link: https://lore.kernel.org/r/20230613164145.50488-9-atrajeev@linux.vnet.ibm.com Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Signed-off-by: Kajol Jain <kjain@linux.ibm.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
44 lines
992 B
Bash
Executable File
44 lines
992 B
Bash
Executable File
#!/bin/bash
|
|
# perf all metrics test
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
err=0
|
|
for m in $(perf list --raw-dump metrics); do
|
|
echo "Testing $m"
|
|
result=$(perf stat -M "$m" true 2>&1)
|
|
if [[ "$result" =~ ${m:0:50} ]] || [[ "$result" =~ "<not supported>" ]]
|
|
then
|
|
continue
|
|
fi
|
|
# Failed so try system wide.
|
|
result=$(perf stat -M "$m" -a sleep 0.01 2>&1)
|
|
if [[ "$result" =~ ${m:0:50} ]]
|
|
then
|
|
continue
|
|
fi
|
|
# Failed again, possibly the workload was too small so retry with something
|
|
# longer.
|
|
result=$(perf stat -M "$m" perf bench internals synthesize 2>&1)
|
|
if [[ "$result" =~ ${m:0:50} ]]
|
|
then
|
|
continue
|
|
fi
|
|
echo "Metric '$m' not printed in:"
|
|
echo "$result"
|
|
if [[ "$err" != "1" ]]
|
|
then
|
|
err=2
|
|
if [[ "$result" =~ "FP_ARITH" || "$result" =~ "AMX" ]]
|
|
then
|
|
echo "Skip, not fail, for FP issues"
|
|
elif [[ "$result" =~ "PMM" ]]
|
|
then
|
|
echo "Skip, not fail, for Optane memory issues"
|
|
else
|
|
err=1
|
|
fi
|
|
fi
|
|
done
|
|
|
|
exit "$err"
|