]> git.ipfire.org Git - thirdparty/postgresql.git/commit
bufmgr: Use atomic sub for unpinning buffers
authorAndres Freund <andres@anarazel.de>
Thu, 6 Nov 2025 21:43:16 +0000 (16:43 -0500)
committerAndres Freund <andres@anarazel.de>
Thu, 6 Nov 2025 21:43:16 +0000 (16:43 -0500)
commit5310fac6e0fcb1c7fcefb3446767673f9107328c
tree9089e0978fc799eeda96df4427423de28664b210
parentc75ebc657ffce8dab76471da31aafb79fbe3fda2
bufmgr: Use atomic sub for unpinning buffers

The prior commit made it legal to modify BufferDesc.state while the buffer
header spinlock is held. This allows us to replace the CAS loop
inUnpinBufferNoOwner() with an atomic sub. This improves scalability
significantly. See the prior commits for more background.

Reviewed-by: Matthias van de Meent <boekewurm+postgres@gmail.com>
Discussion: https://postgr.es/m/fvfmkr5kk4nyex56ejgxj3uzi63isfxovp2biecb4bspbjrze7@az2pljabhnff
src/backend/storage/buffer/bufmgr.c