perf test: Fix 'perf script' tests on s390
authorThomas Richter <tmricht@linux.ibm.com>
Thu, 25 Jan 2024 10:03:51 +0000 (11:03 +0100)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 26 Jan 2024 13:51:48 +0000 (10:51 -0300)
In linux next repo, test case 'perf script tests' fails on s390.

The root case is a command line invocation of 'perf record' with
call-graph information. On s390 only DWARF formatted call-graphs are
supported and only on software events.

Change the command line parameters for s390.

Output before:

  # perf test 89
  89: perf script tests              : FAILED!
  #

Output after:

  # perf test 89
  89: perf script tests              : Ok
  #

Fixes: 0dd5041c9a0eaf8c ("perf addr_location: Add init/exit/copy functions")
Reviewed-by: Ian Rogers <irogers@google.com>
Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Sumanth Korikkar <sumanthk@linux.ibm.com>
Cc: Sven Schnelle <svens@linux.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Link: https://lore.kernel.org/r/20240125100351.936262-1-tmricht@linux.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/tests/shell/script.sh

index 5ae7bd0..2973ada 100755 (executable)
@@ -54,7 +54,14 @@ def sample_table(*args):
 def call_path_table(*args):
     print(f'call_path_table({args}')
 _end_of_file_
-       perf record -g -o "${perfdatafile}" true
+       case $(uname -m)
+       in s390x)
+               cmd_flags="--call-graph dwarf -e cpu-clock";;
+       *)
+               cmd_flags="-g";;
+       esac
+
+       perf record $cmd_flags -o "${perfdatafile}" true
        perf script -i "${perfdatafile}" -s "${db_test}"
        echo "DB test [Success]"
 }