postgresql/src/include/storage
Tom Lane cdda2b247d 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
2021-08-13 13:59:13 -04:00
..
.gitignore When trace_lwlocks is used, identify individual lwlocks by name. 2015-09-11 14:01:39 -04:00
backendid.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
barrier.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
block.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
buf.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
buf_internals.h C comment: correct use of 64-"byte" cache line size 2020-09-04 13:27:52 -04:00
buffile.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
bufmgr.h Revert "Skip WAL for new relfilenodes, under wal_level=minimal." 2020-03-22 09:24:13 -07:00
bufpage.h Extend PageIsVerified() to handle more custom options 2020-11-02 10:41:30 +09:00
checksum.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
checksum_impl.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
condition_variable.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
copydir.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
dsm.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
dsm_impl.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
fd.h Fix many typos and inconsistencies 2019-07-01 10:00:23 +09:00
freespace.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
fsm_internals.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
indexfsm.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
ipc.h Consistently test for in-use shared memory. 2019-04-12 22:36:38 -07:00
item.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
itemid.h Standardize ItemIdData terminology. 2019-05-13 15:53:39 -07:00
itemptr.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
large_object.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
latch.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
lmgr.h Prevent concurrent SimpleLruTruncate() for any given SLRU. 2020-08-15 10:15:56 -07:00
lock.h Fix CREATE INDEX CONCURRENTLY for simultaneous prepared transactions. 2021-01-30 00:01:56 -08:00
lockdefs.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
lwlock.h Enable parallel query with SERIALIZABLE isolation. 2019-03-15 17:47:04 +13:00
md.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
off.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
pg_sema.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
pg_shmem.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
pmsignal.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
predicate.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
predicate_internals.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
proc.h Add GUC variables for stat tracking and timeout as PGDLLIMPORT 2020-01-21 13:46:55 +09:00
procarray.h Detect the deadlocks between backends and the startup process. 2021-01-06 12:31:23 +09:00
proclist.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
proclist_types.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
procsignal.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
reinit.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
relfilenode.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
s_lock.h Add RISC-V spinlock support in s_lock.h. 2021-08-13 13:59:13 -04:00
sharedfileset.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
shm_mq.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
shm_toc.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
shmem.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
sinval.h Remove superfluous newlines in function prototypes. 2019-07-31 00:07:09 -07:00
sinvaladt.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
smgr.h Revert "Skip WAL for new relfilenodes, under wal_level=minimal." 2020-03-22 09:24:13 -07:00
spin.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
standby.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
standbydefs.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
sync.h Fix assorted inconsistencies. 2019-06-08 08:16:38 +05:30