Andres Freund <andres@anarazel.de> writes:
> On 2017-09-06 14:31:26 -0400, Tom Lane wrote:
>> However, if that's the reasoning, why don't we make all of these
>> use simple reads? It seems unlikely that a locked read is free.
> We don't really use locked reads? All the _atomic_ wrapper forces is an
> actual read from memory rather than a register.
It looks to me like two of the three implementations promise no such
thing. Even if they somehow do, it hardly matters given that the cmpxchg
loop would be self-correcting. Mostly, though, I'm looking at the
fallback pg_atomic_read_u64_impl implementation (with a CAS), which
seems far more expensive than can be justified for this.
regards, tom lane