tools/perf/tests/shell/data_type_profiling.sh | 4 ++++ 1 file changed, 4 insertions(+)
Test case 'perf data type profiling tests' fails on s390 with this
error:
# ./perf mem record -- ./perf test -w code_with_type
failed: no PMU supports the memory events
# echo $?
255
#
because s390 does not support memory events at all. According to the
man page, perf annotate --code-with-type only works with memory
instructions only. As command 'perf mem record ...' is not supported
on s390, skip this test for s390.
Output before:
# ./perf test 'perf data type profiling tests'
77: perf data type profiling tests : FAILED!
Output after:
# ./perf test 'perf data type profiling tests'
77: perf data type profiling tests : Skip
Fixes: f60a5c22967b8 ("perf tests: Test annotate with data type profiling and rust")
Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
Suggested-by: Namhyung Kim <namhyung@kernel.org>
Suggested-by: Ian Rogers <irogers@google.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Dmitrii Dolgov <9erthalion6@gmail.com>
---
tools/perf/tests/shell/data_type_profiling.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tools/perf/tests/shell/data_type_profiling.sh b/tools/perf/tests/shell/data_type_profiling.sh
index fb47b7213b33..eca694600a04 100755
--- a/tools/perf/tests/shell/data_type_profiling.sh
+++ b/tools/perf/tests/shell/data_type_profiling.sh
@@ -15,6 +15,10 @@ err=0
perfdata=$(mktemp /tmp/__perf_test.perf.data.XXXXX)
perfout=$(mktemp /tmp/__perf_test.perf.out.XXXXX)
+# Check for support of perf mem before trap handler
+perf mem record -o /dev/null -- true 2>&1 | \
+ grep -q "failed: no PMU supports the memory events" && exit 2
+
cleanup() {
rm -rf "${perfdata}" "${perfout}"
rm -rf "${perfdata}".old
--
2.53.0
On Wed, Apr 1, 2026 at 5:21 AM Thomas Richter <tmricht@linux.ibm.com> wrote:
>
> Test case 'perf data type profiling tests' fails on s390 with this
> error:
>
> # ./perf mem record -- ./perf test -w code_with_type
> failed: no PMU supports the memory events
> # echo $?
> 255
> #
>
> because s390 does not support memory events at all. According to the
> man page, perf annotate --code-with-type only works with memory
> instructions only. As command 'perf mem record ...' is not supported
> on s390, skip this test for s390.
>
> Output before:
> # ./perf test 'perf data type profiling tests'
> 77: perf data type profiling tests : FAILED!
>
> Output after:
> # ./perf test 'perf data type profiling tests'
> 77: perf data type profiling tests : Skip
>
> Fixes: f60a5c22967b8 ("perf tests: Test annotate with data type profiling and rust")
> Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
> Suggested-by: Namhyung Kim <namhyung@kernel.org>
> Suggested-by: Ian Rogers <irogers@google.com>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Dmitrii Dolgov <9erthalion6@gmail.com>
Reviewed-by: Ian Rogers <irogers@google.com>
Thanks!
Ian
> ---
> tools/perf/tests/shell/data_type_profiling.sh | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/tools/perf/tests/shell/data_type_profiling.sh b/tools/perf/tests/shell/data_type_profiling.sh
> index fb47b7213b33..eca694600a04 100755
> --- a/tools/perf/tests/shell/data_type_profiling.sh
> +++ b/tools/perf/tests/shell/data_type_profiling.sh
> @@ -15,6 +15,10 @@ err=0
> perfdata=$(mktemp /tmp/__perf_test.perf.data.XXXXX)
> perfout=$(mktemp /tmp/__perf_test.perf.out.XXXXX)
>
> +# Check for support of perf mem before trap handler
> +perf mem record -o /dev/null -- true 2>&1 | \
> + grep -q "failed: no PMU supports the memory events" && exit 2
> +
> cleanup() {
> rm -rf "${perfdata}" "${perfout}"
> rm -rf "${perfdata}".old
> --
> 2.53.0
>
© 2016 - 2026 Red Hat, Inc.