On 2016-02-15 12:11:29 -0500, Noah Misch wrote:
> These suggested OidGenLock wasn't doing its job. I've seen similar symptoms
> around WALInsertLocks with "IBM XL C/C++ for Linux, V13.1.2 (5725-C73,
> 5765-J08)" for ppc64le. The problem is generic-xlc.h
> pg_atomic_compare_exchange_u32_impl() issuing __isync() before
> __compare_and_swap(). __isync() shall follow __compare_and_swap(); see our
> own s_lock.h, its references, and other projects' usage:
Ugh. You're right! It's about not moving code before the stwcx...
Do you want to add the new test (no objection, curious), or is that more
for testing?
Greetings,
Andres