2024-01-22 10:00:31

by Thomas Richter

[permalink] [raw]
Subject: [PATCH v2] perf test: Fix test case perf script tests on s390

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 fors s390.

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

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

Fixes: 0dd5041c9a0e ("perf addr_location: Add init/exit/copy functions")
Signed-off-by: Thomas Richter <[email protected]>
Cc: Ian Rogers <[email protected]>
---
tools/perf/tests/shell/script.sh | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/tools/perf/tests/shell/script.sh b/tools/perf/tests/shell/script.sh
index 5ae7bd0031a8..2973adab445d 100755
--- a/tools/perf/tests/shell/script.sh
+++ b/tools/perf/tests/shell/script.sh
@@ -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]"
}
--
2.43.0



2024-01-23 17:53:11

by Ian Rogers

[permalink] [raw]
Subject: Re: [PATCH v2] perf test: Fix test case perf script tests on s390

On Mon, Jan 22, 2024 at 2:00 AM Thomas Richter <[email protected]> wrote:
>
> 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 fors s390.
>
> Output before:
> # perf test 89
> 89: perf script tests : FAILED!
> #
>
> Output after:
> # perf test 89
> 89: perf script tests : Ok
> #
>
> Fixes: 0dd5041c9a0e ("perf addr_location: Add init/exit/copy functions")
> Signed-off-by: Thomas Richter <[email protected]>
> Cc: Ian Rogers <[email protected]>

Thanks Thomas!
Reviewed-by: Ian Rogers <[email protected]>

> ---
> tools/perf/tests/shell/script.sh | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/tests/shell/script.sh b/tools/perf/tests/shell/script.sh
> index 5ae7bd0031a8..2973adab445d 100755
> --- a/tools/perf/tests/shell/script.sh
> +++ b/tools/perf/tests/shell/script.sh
> @@ -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]"
> }
> --
> 2.43.0
>
>