postgresql/src
Andres Freund f39cb8c011 bufmgr: Make UnlockReleaseBuffer() more efficient
Now that the buffer content lock is implemented as part of BufferDesc.state,
releasing the lock and unpinning the buffer can be implemented as a single
atomic operation.

This improves workloads that have heavy contention on a small number of
buffers substantially, I e.g., see a ~20% improvement for pipelined readonly
pgbench on an older two socket machine.

Reviewed-by: Melanie Plageman <melanieplageman@gmail.com>
Discussion: https://postgr.es/m/5ubipyssiju5twkb7zgqwdr7q2vhpkpmuelxfpanetlk6ofnop@hvxb4g2amb2d
2026-03-27 15:56:29 -04:00
..
backend bufmgr: Make UnlockReleaseBuffer() more efficient 2026-03-27 15:56:29 -04:00
bin Add labels to help make psql's hidden queries more understandable. 2026-03-26 11:36:52 -04:00
common Make implementation of SASLprep compliant for ASCII characters 2026-03-24 08:29:23 +09:00
fe_utils Fix poorly-sized buffers in astreamer compression modules. 2026-03-24 12:17:12 -04:00
include bufmgr: Don't copy pages while writing out 2026-03-27 15:56:29 -04:00
interfaces Fix -Wstrict-prototypes warning in ecpg_init_sqlca() declaration. 2026-03-18 15:27:49 -04:00
makefiles meson: Add {perl|python}_includespec to generated Makefile.global 2026-03-18 11:09:14 +01:00
pl Bounds-check access to TupleDescAttr with an Assert. 2026-03-24 08:58:50 -04:00
port Refactor handling of x86 CPUID instructions 2026-03-25 12:32:36 +07:00
template Switch the semaphore API on Solaris to unnamed POSIX. 2026-03-14 14:10:32 -04:00
test Use UnlockReleaseBuffer() in more places 2026-03-27 15:56:29 -04:00
timezone Use fallthrough attribute instead of comment 2026-02-19 08:51:12 +01:00
tools pgindent: ensure all C files end with a newline. 2026-03-27 15:38:48 -04:00
tutorial Force standard_conforming_strings to always be ON. 2026-01-21 15:08:38 -05:00
.gitignore
DEVELOPERS
Makefile Remove distprep 2023-11-06 15:18:04 +01:00
Makefile.global.in Update Unicode data to Unicode 17.0.0 2026-03-20 08:42:50 +01:00
Makefile.shlib Restore AIX support. 2026-02-23 13:34:22 -05:00
meson.build Update copyright for 2026 2026-01-01 13:24:10 -05:00
nls-global.mk Fix update-po for the PGXS case 2025-10-16 20:21:05 +02:00