Some AMD64 dual core processor series has problem with atomic operation "lock cmpxchg". It does not work correctly in some case. (I don't know if it is bug or feature.) This problem occurred in the solaris on the AMD64 platform. Postgres implement own lock mechanism with similar code "lock xchg". I am not sure if this is wrong or not. My question is, If someone has problem with spinlock on AMD64 dual core in 64-bit mode.
- Zdenek PS: You can see Solaris mutex_enter code on http://cvs.opensolaris.org/source/xref/on/usr/src/uts/intel/ia32/ml/lock_prim.s Extra lfence instruction after atomic operation fix the problem. ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend