Re: [HACKERS] Status of 64 bit atomics
Hi, On 2016-05-27 11:00:42 -0400, John Gorman wrote: > Someone recently told me that the postgresql atomics library was incomplete > for 64 bit operations such as pg_atomic_fetch_add_u64() and should not be > used. There's currently no fallback for 32bit platforms without 64bit atomics support. I posted a patch adding that fallback, which I plan to commit soon after the start of the 9.7 development window opens. > Can someone definitively confirm whether it is okay to rely on the 64 > bit atomics or whether it is better to protect 64 bit operations with > a spinlock? For current versions 64bit atomics are working, but you'll get compilation errors if the platform doesn't have 64bit atomics support. That's not actually many CPUs these days; most prominent are probably older arm CPUs. Andres -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] Status of 64 bit atomics
On May 27, 2016 5:01 PM, "John Gorman" wrote: > > Hi All > > Someone recently told me that the postgresql atomics library was incomplete > for 64 bit operations such as pg_atomic_fetch_add_u64() and should not be used. > > Can someone definitively confirm whether it is okay to rely on the 64 bit atomics > or whether it is better to protect 64 bit operations with a spinlock? > > Thanks! > John Golang has asm implementations for these even on 32bit platforms (see https://github.com/golang/go/tree/master/src/sync/atomic). Couldn't we borrow them? Or even better, fall back to spin lock on these, but transparently.
[HACKERS] Status of 64 bit atomics
Hi All Someone recently told me that the postgresql atomics library was incomplete for 64 bit operations such as pg_atomic_fetch_add_u64() and should not be used. Can someone definitively confirm whether it is okay to rely on the 64 bit atomics or whether it is better to protect 64 bit operations with a spinlock? Thanks! John