tools/perf/tests/shell/record.sh | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)
On s390 the event instructions can not be used for recording.
This event is only supported by perf stat.
Skip all tests which use perf record -e instruction ....
Cc: James Clark <james.clark@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
---
tools/perf/tests/shell/record.sh | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/tools/perf/tests/shell/record.sh b/tools/perf/tests/shell/record.sh
index 0fc7a909ae9b..297d0e459875 100755
--- a/tools/perf/tests/shell/record.sh
+++ b/tools/perf/tests/shell/record.sh
@@ -287,11 +287,15 @@ test_precise_max() {
return
fi
# On AMD, cycles and instructions events are treated differently
- if ! perf record -o "${perfdata}" -e "instructions:P" true 2> /dev/null
+ # On s390 event instructions can not be used for recording
+ if [ $(uname -m) != s390x ]
then
- echo "precise_max attribute [Failed instructions:P event]"
- err=1
- return
+ if ! perf record -o "${perfdata}" -e "instructions:P" true 2> /dev/null
+ then
+ echo "precise_max attribute [Failed instructions:P event]"
+ err=1
+ return
+ fi
fi
echo "precise_max attribute test [Success]"
}
@@ -307,7 +311,8 @@ test_system_wide
test_workload
test_branch_counter
test_cgroup
-test_leader_sampling
+# On s390 event instructions can not be used for recording
+[ $(uname -m) != s390x ] && test_leader_sampling
test_topdown_leader_sampling
test_precise_max
--
2.48.1
On 28/01/2025 3:03 pm, Thomas Richter wrote:
> On s390 the event instructions can not be used for recording.
> This event is only supported by perf stat.
> Skip all tests which use perf record -e instruction ....
>
> Cc: James Clark <james.clark@linaro.org>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
> ---
> tools/perf/tests/shell/record.sh | 15 ++++++++++-----
> 1 file changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/tools/perf/tests/shell/record.sh b/tools/perf/tests/shell/record.sh
> index 0fc7a909ae9b..297d0e459875 100755
> --- a/tools/perf/tests/shell/record.sh
> +++ b/tools/perf/tests/shell/record.sh
> @@ -287,11 +287,15 @@ test_precise_max() {
> return
> fi
> # On AMD, cycles and instructions events are treated differently
> - if ! perf record -o "${perfdata}" -e "instructions:P" true 2> /dev/null
> + # On s390 event instructions can not be used for recording
> + if [ $(uname -m) != s390x ]
> then
> - echo "precise_max attribute [Failed instructions:P event]"
> - err=1
> - return
> + if ! perf record -o "${perfdata}" -e "instructions:P" true 2> /dev/null
> + then
> + echo "precise_max attribute [Failed instructions:P event]"
> + err=1
> + return
> + fi
> fi
> echo "precise_max attribute test [Success]"
> }
> @@ -307,7 +311,8 @@ test_system_wide
> test_workload
> test_branch_counter
> test_cgroup
> -test_leader_sampling
> +# On s390 event instructions can not be used for recording
> +[ $(uname -m) != s390x ] && test_leader_sampling
Is this a fix for 180fd0c1eac7 ("perf tests: Make leader sampling test
work without branch event")? If so sorry for the breakage.
Can you change it to cycles instead of instructions? The actual event
didn't seem to be important for the test. I see there is a perf record
-e cycles for test_precise_max() so I'm assuming that works for s390 as
it isn't conditional.
> test_topdown_leader_sampling
> test_precise_max
>
© 2016 - 2026 Red Hat, Inc.