postgresql/src/backend/port
Andres Freund 11687e728d Fix spinlock implementation for some !solaris sparc platforms.
Some Sparc CPUs can be run in various coherence models, ranging from
RMO (relaxed) over PSO (partial) to TSO (total). Solaris has always
run CPUs in TSO mode while in userland, but linux didn't use to and
the various *BSDs still don't. Unfortunately the sparc TAS/S_UNLOCK
were only correct under TSO. Fix that by adding the necessary memory
barrier instructions. On sparcv8+, which should be all relevant CPUs,
these are treated as NOPs if the current consistency model doesn't
require the barriers.

Discussion: 20140630222854.GW26930@awork2.anarazel.de

Will be backpatched to all released branches once a few buildfarm
cycles haven't shown up problems. As I've no access to sparc, this is
blindly written.
2014-09-09 23:36:32 +02:00
..
aix Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
darwin pgindent run for 9.4 2014-05-06 12:12:18 -04:00
dynloader pgindent run for 9.4 2014-05-06 12:12:18 -04:00
hpux Redefine Datum as uintptr_t, instead of unsigned long. 2009-12-31 19:41:37 +00:00
tas Fix spinlock implementation for some !solaris sparc platforms. 2014-09-09 23:36:32 +02:00
win32 pgindent run for 9.4 2014-05-06 12:12:18 -04:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
Makefile Remove 'make clean' support for ipc_test. 2014-04-07 11:45:27 -04:00
posix_sema.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
sysv_sema.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
sysv_shmem.c Assorted message improvements 2014-08-29 00:01:34 -04:00
unix_latch.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
win32_latch.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
win32_sema.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
win32_shmem.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00