]> granicus.if.org Git - postgresql/commit
Use LWSYNC in place of SYNC/ISYNC in PPC spinlocks, where possible.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 2 Jan 2012 05:01:33 +0000 (00:01 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 2 Jan 2012 05:02:02 +0000 (00:02 -0500)
commit631beeac3598a73dee2c2afa38fa2e734148031b
tree0e2eaa2bb84bef297e9f4ab8e68a00de683b53bd
parent8496c6cd77e2f5f105fc47315680174157d66647
Use LWSYNC in place of SYNC/ISYNC in PPC spinlocks, where possible.

This is allegedly a win, at least on some PPC implementations, according
to the PPC ISA documents.  However, as with LWARX hints, some PPC
platforms give an illegal-instruction failure.  Use the same trick as
before of assuming that PPC64 platforms will accept it; we might need to
refine that based on experience, but there are other projects doing
likewise according to google.

I did not add an assembler compatibility test because LWSYNC has been
around much longer than hint bits, and it seems unlikely that any
toolchains currently in use don't recognize it.
src/include/pg_config_manual.h
src/include/storage/s_lock.h