Andres Freund <and...@anarazel.de> writes: > Allow Pin/UnpinBuffer to operate in a lockfree manner.
This commit has broken buildfarm member gaur, and no doubt pademelon will be equally unhappy once it catches up to HEAD. The reason is that you've caused localbuf.c to perform a whole bunch of atomic operations on its buffer headers; and on machines that don't have native atomic ops, there's a spinlock underlying those; and you did not bother to ensure that appropriate SpinLockInit operations happen for local-buffer headers. (HPPA, possibly alone among supported platforms, does not think that SpinLockInit is equivalent to memset-to-zeroes.) While we could fix this by performing suitable SpinLockInit's on local-buffer headers, I have to think that that's fundamentally the wrong direction. The *entire* *point* of having local buffers is that they are not subject to concurrency overhead. So IMO, sticking atomic-ops calls into localbuf.c is broken on its face. regards, tom lane -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers