Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Does any of this need to be backpatched?
No --- we didn't have any per-buffer spinlocks before 8.1.
It's possible that at some point we'll need to start thinking about
applying volatile-pointer coding rules to data structures protected by
LWLocks. This could only become an issue if the compiler (a) inlines
LWLockAcquire/Release, and (b) tries to rearrange loads and stores
around the LWLock code. I would like to think that the latter is
impossible even with inlining, principally because the compiler can't
ignore the kernel calls that may occur within the LWLock routines;
those should be treated as external function calls and hence sequence
points, no matter how aggressive the compiler gets. But we'll see.
regards, tom lane