Use a non-locking initial test in TAS_SPIN on AArch64.

Nathan Bossart <nathan@postgresql.org>

Commit: 3d0b4b1068018f624d5ef7c9f90b536ed58345b5
Author: Nathan Bossart <nathan@postgresql.org>
Date: 2025-01-10T19:18:04Z
Releases: 18.0
Use a non-locking initial test in TAS_SPIN on AArch64.

Our testing showed that this is helpful at sufficiently high
contention levels and doesn't hurt performance on smaller machines.
The new TAS_SPIN macro for AArch64 is identical to the ones added
for PPC and x86_64 (see commits bc2a050d40 and b03d196be0).

Reported-by: Salvatore Dipietro
Reviewed-by: Jingtang Zhang, Andres Freund
Tested-by: Tom Lane
Discussion: https://postgr.es/m/ZxgDEb_VpWyNZKB_%40nathan

Files

PathChange+/−
src/include/storage/s_lock.h modified +10 −4

Discussion