Add RISC-V spinlock support in s_lock.h.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 48695decc27159275a10cf9e1f31bae51f311305
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2021-08-13T17:59:06Z
Releases: 13.5
Add RISC-V spinlock support in s_lock.h.

Like the ARM case, just use gcc's __sync_lock_test_and_set();
that will compile into AMOSWAP.W.AQ which does what we need.

At some point it might be worth doing some work on atomic ops
for RISC-V, but this should be enough for a creditable port.

Back-patch to all supported branches, just in case somebody
wants to try them on RISC-V.

Marek Szuba

Discussion: https://postgr.es/m/dea97b6d-f55f-1f6d-9109-504aa7dfa421@gentoo.org

Files

PathChange+/−
src/include/storage/s_lock.h modified +24 −0

Discussion