Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> IMHO, the way we have it now is kind of a mess. SpinLockAcquire and
> SpinLockRelease are required to be CPU barriers, but they are not
> required to be compiler barriers. If we changed that so that they
> were required to act as barriers of both flavors,
Since they are macros, how do you propose to do that exactly?
I agree that volatile-izing everything in the vicinity is a sucky
solution, but the last time we looked at this there did not seem to
be a better one.
regards, tom lane