perf test: Fix "all PMU test" to skip parametrized events

Parametrized events are not only a powerpc domain. They occur on other
platforms too (e.g. aarch64). They should be ignored in this testcase,
since proper setup of the parameters is out of scope of this script.

Let's not filter them out by PMU name, but rather based on the fact that
they expect a parameter.

Fixes: 451ed8058c ("perf test: Fix "all PMU test" to skip hv_24x7/hv_gpci tests on powerpc")
Signed-off-by: Michael Petlan <mpetlan@redhat.com>
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
Cc: Disha Goel <disgoel@linux.vnet.ibm.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nageswara R Sastry <rnsastry@linux.ibm.com>
Link: https://lore.kernel.org/r/20221219163008.9691-1-mpetlan@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Michael Petlan 2022-12-19 17:30:08 +01:00 committed by Arnaldo Carvalho de Melo
parent 0c0a0db87e
commit b50d691e50

View file

@ -4,17 +4,8 @@
set -e
for p in $(perf list --raw-dump pmu); do
# In powerpc, skip the events for hv_24x7 and hv_gpci.
# These events needs input values to be filled in for
# core, chip, partition id based on system.
# Example: hv_24x7/CPM_ADJUNCT_INST,domain=?,core=?/
# hv_gpci/event,partition_id=?/
# Hence skip these events for ppc.
if echo "$p" |grep -Eq 'hv_24x7|hv_gpci' ; then
echo "Skipping: Event '$p' in powerpc"
continue
fi
# Test all PMU events; however exclude parametrized ones (name contains '?')
for p in $(perf list --raw-dump pmu | sed 's/[[:graph:]]\+?[[:graph:]]\+[[:space:]]//g'); do
echo "Testing $p"
result=$(perf stat -e "$p" true 2>&1)
if ! echo "$result" | grep -q "$p" && ! echo "$result" | grep -q "<not supported>" ; then