diff options
| author | Carlos O'Donell <carlos@redhat.com> | 2025-11-10 15:17:45 -0500 |
|---|---|---|
| committer | Carlos O'Donell <carlos@redhat.com> | 2025-11-14 08:18:36 -0500 |
| commit | 5bdf3c909274a4796b848d7595a025dca1951570 (patch) | |
| tree | 025e5319bebf7dc1b6bc87d7092ae0aa4ed3fca7 /sysdeps | |
| parent | 91fb9914d867320d65a2abe284fb623d91ae5efb (diff) | |
x86: Increase allowable TSX abort rate to 6%.
In pre-commit CI on an E5-2698 v4 we sometimes see ~5% aborts.
Set the trip point to 6%.
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
Diffstat (limited to 'sysdeps')
| -rw-r--r-- | sysdeps/x86/tst-string-rtm.h | 20 |
1 files 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); } |
