postgresql/src
Peter Geoghegan a367c433ad Use simplehash for backend-private buffer pin refcounts.
Replace dynahash with simplehash for the per-backend PrivateRefCountHash
overflow table.  Simplehash generates inlined, open-addressed lookup
code, avoiding the per-call overhead of dynahash that becomes noticeable
when many buffers are pinned with a CPU-bound workload.

Motivated by testing of the index prefetching patch, which pins many
more buffers concurrently than typical index scans.

Author: Peter Geoghegan <pg@bowt.ie>
Suggested-by: Andres Freund <andres@anarazel.de>
Reviewed-By: Tomas Vondra <tomas@vondra.me>
Reviewed-By: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/CAH2-Wz=g=JTSyDB4UtB5su2ZcvsS7VbP+ZMvvaG6ABoCb+s8Lw@mail.gmail.com
2026-03-12 13:26:16 -04:00
..
backend Use simplehash for backend-private buffer pin refcounts. 2026-03-12 13:26:16 -04:00
bin Introduce the REPACK command 2026-03-10 19:56:39 +01:00
common Don't include wait_event.h in pgstat.h 2026-03-06 16:24:58 +01:00
fe_utils pg_dumpall: Fix handling of conflicting options. 2026-03-06 14:00:04 -06:00
include nbtree: Avoid allocating _bt_search stack. 2026-03-12 13:22:36 -04:00
interfaces libpq: Introduce PQAUTHDATA_OAUTH_BEARER_TOKEN_V2 2026-03-06 12:05:51 -08:00
makefiles Restore AIX support. 2026-02-23 13:34:22 -05:00
pl EUC_CN, EUC_JP, EUC_KR, EUC_TW: Skip U+00A0 tests instead of failing. 2026-02-25 18:13:22 -08:00
port Check for memset_explicit() and explicit_memset() 2026-03-02 07:51:19 +01:00
template Restore AIX support. 2026-02-23 13:34:22 -05:00
test Convert NOT IN sublinks to anti-joins when safe 2026-03-12 09:45:18 +09:00
timezone Use fallthrough attribute instead of comment 2026-02-19 08:51:12 +01:00
tools Use simplehash for backend-private buffer pin refcounts. 2026-03-12 13:26:16 -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 tests: Add a test C++ extension module 2026-01-20 16:42:30 +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