Hi, On 2026-10-09 05:57:52 +0000, Bertrand Drouvot wrote: > + pg_memory_barrier(); > + > + completions = pg_atomic_read_u64(&TransamVariables->xactCompletionCount); > > IIUC, the barriers order the surrounding memory accesses, but they do not > guarantee > that pg_atomic_read_u64() does not return an old value.
I do not believe that that is true. Except in the sense of allowing an update to the atomic variable having happened between pg_memory_barrier() and the pg_atomic_read_u64(), but that's something that is indistinguishable from the increment happening happeng just after pg_atomic_read_membarrier_u64(). Greetings, Andres Freund
