Re: [PATCH v2] perf/test: fix perf ftrace test on s390

From: Namhyung Kim
Date: Mon Nov 18 2024 - 19:54:57 EST


On Fri, Nov 15, 2024 at 07:57:35AM +0100, Thomas Richter wrote:
> On s390 the perf test case ftrace sometimes fails as follows:
>
> # ./perf test ftrace
> 79: perf ftrace tests : FAILED!
> #
>
> The failure depends on the kernel .config file. Some configurarions
> always work fine, some do not. The ftrace profile test mostly fails,
> because the ring buffer was not large enough, and some lines
> (especially the interesting ones with nanosleep in it) where dropped.
>
> To achieve success for all our tested kernel configurations, enlarge
> the buffer to store the traces complete without wrapping.
> The default buffer size is too small for all kernel configurations.
> Set the buffer size of /sys/kernel/tracing/buffer_size_kb to 16 MB
>
> Output after:
> # ./perf test ftrace
> 79: perf ftrace tests : Ok
> #
>
> Signed-off-by: Thomas Richter <tmricht@xxxxxxxxxxxxx>
> Suggested-by: Sven Schnelle <svens@xxxxxxxxxxxxx>
> Reviewed-by: James Clark <james.clark@xxxxxxxxxx>
> ---
> tools/perf/tests/shell/ftrace.sh | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/tools/perf/tests/shell/ftrace.sh b/tools/perf/tests/shell/ftrace.sh
> index a6ee740f0d7e..6161a8bdc251 100755
> --- a/tools/perf/tests/shell/ftrace.sh
> +++ b/tools/perf/tests/shell/ftrace.sh
> @@ -14,6 +14,11 @@ output=$(mktemp /tmp/__perf_test.ftrace.XXXXXX)
>
> cleanup() {
> rm -f "${output}"
> + if [ "$(uname -m)" = "s390x" ]
> + then
> + echo $ftrace_size > /sys/kernel/tracing/buffer_size_kb
> + fi
> +
>
> trap - EXIT TERM INT
> }
> @@ -80,6 +85,12 @@ test_ftrace_profile() {
> echo "perf ftrace profile test [Success]"
> }

Could you please use `perf ftrace profile -m 16M ...` instead?

Thanks,
Namhyung

>
> +if [ "$(uname -m)" = "s390x" ]
> +then
> + ftrace_size=$(cat /sys/kernel/tracing/buffer_size_kb)
> + echo 16384 > /sys/kernel/tracing/buffer_size_kb
> +fi
> +
> test_ftrace_list
> test_ftrace_trace
> test_ftrace_latency
> --
> 2.47.0
>