On May 27, 2016 5:01 PM, "John Gorman" <johngorm...@gmail.com> 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.