[PATCH] x86: Increase allowable TSX abort rate to 6%.
H.J. Lu
hjl.tools@gmail.com
Fri Nov 14 00:48:01 GMT 2025
On Thu, Nov 13, 2025 at 11:01 PM Carlos O'Donell <carlos@redhat.com> wrote:
>
> In pre-commit CI on an E5-2698 v4 we sometimes see ~5% aborts.
>
> Set the trip point to 6%.
> ---
> sysdeps/x86/tst-string-rtm.h | 20 +++++++++++++++++---
> 1 file changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/sysdeps/x86/tst-string-rtm.h b/sysdeps/x86/tst-string-rtm.h
> index 1bf863063f..699c52227b 100644
> --- a/sysdeps/x86/tst-string-rtm.h
> +++ b/sysdeps/x86/tst-string-rtm.h
> @@ -36,6 +36,18 @@ do_test_1 (const char *name, unsigned int loop, int (*prepare) (void),
> unsigned int i;
> unsigned int naborts = 0;
> unsigned int failed = 0;
> +
> + /* Iterate LOOP number of times, calling the same function over
> + and over again in an attempt to detect the following failure
> + modes:
> +
> + 1. Aborting instruction on the hot path.
> + 2. Number of instructions executed exceeds maximum.
> + 3. Memory reads or writes exceed maximum.
> +
> + The function getting bigger may increase the abort rate due
> + to external events, despite not triggering #2 above, and may
> + need adjusting the abort rate failure test below. */
> for (i = 0; i < loop; i++)
> {
> failed |= function ();
> @@ -56,10 +68,12 @@ do_test_1 (const char *name, unsigned int loop, int (*prepare) (void),
>
> if (naborts)
> {
> - /* NB: Low single digit (<= 5%) noise-level aborts are normal for
> - TSX. */
> + /* Low single digit (<= 5%) noise-level aborts are normal for TSX
> + for reasons that are outside of the library's control.
> + In pre-commit CI on an E5-2698 v4 we sometimes see ~5% aborts.
> + Set the trip point to 6%. */
> double rate = 100 * ((double) naborts) / ((double) loop);
> - if (rate > 5)
> + if (rate > 6)
> FAIL_EXIT1 ("TSX abort rate: %.2f%% (%d out of %d)",
> rate, naborts, loop);
> }
> --
> 2.51.1
>
LGTM.
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
Thanks.
--
H.J.
More information about the Libc-alpha
mailing list