OPTIM: ring: use relaxed stores to release the threads
authorWilly Tarreau <w@1wt.eu>
Fri, 22 Mar 2024 15:47:17 +0000 (16:47 +0100)
committerWilly Tarreau <w@1wt.eu>
Mon, 25 Mar 2024 17:34:19 +0000 (17:34 +0000)
commit0a0a64ef029d026c7d818c497786bdf79089d58d
treed31bbff6f816c0298f87ab846a754617a4b93fe2
parentcabe945876949e16e4294b7d8efcccb6dfcae6f2
OPTIM: ring: use relaxed stores to release the threads

We don't care in what order the threads are released, so we can write
their sent value using relaxed atomic stores. This brings a 3-5% perf
boost on ARM with 80 cores, reaching 7.25M/s, and doesn't change
anything on x86 since it keeps using strict ordering.
src/ring.c