lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b107d9a6-48b7-468d-b36e-da9c587b7953@linaro.org>
Date: Thu, 14 Nov 2024 11:09:27 +0000
From: James Clark <james.clark@...aro.org>
To: Thomas Richter <tmricht@...ux.ibm.com>, linux-kernel@...r.kernel.org,
 linux-perf-users@...r.kernel.org, acme@...nel.org, namhyung@...nel.org,
 svens@...ux.ibm.com
Cc: agordeev@...ux.ibm.com, gor@...ux.ibm.com, sumanthk@...ux.ibm.com,
 hca@...ux.ibm.com
Subject: Re: [PING PATCH] perf/test: fix perf ftrace test on s390



On 14/11/2024 9:01 am, 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@...ux.ibm.com>
> Suggested-by: Sven Schnelle <svens@...ux.ibm.com>
> ---
>   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..742d6b8f34d3 100755
> --- a/tools/perf/tests/shell/ftrace.sh
> +++ b/tools/perf/tests/shell/ftrace.sh
> @@ -80,10 +80,21 @@ test_ftrace_profile() {
>       echo "perf ftrace profile test  [Success]"
>   }
>   
> +if [ "$(uname -m)" = "s390x" ]
> +then
> +	ftrace_size=$(cat /sys/kernel/tracing/buffer_size_kb)
> +	echo 16384 > /sys/kernel/tracing/buffer_size_kb
> +fi
> +

It probably wouldn't be terrible to do this for all platforms to reduce 
fragmentation. It doesn't do any harm and it only added a few seconds to 
the test time even on a small Arm box, maybe it will prevent flakes 
everywhere else in the future. But I don't feel too strongly about this one.

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

Restoring the value should be in cleanup() so it works on interrupt too.

With that:

Reviewed-by: James Clark <james.clark@...aro.org>

>   cleanup
>   exit 0


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ