Convert all remaining subsystems to use the new shmem allocation API

Heikki Linnakangas <heikki.linnakangas@iki.fi>

Commit: 9b5acad3f40fa6015f367fbf887ae5c1a93a3698
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: 2026-04-05T23:13:10Z
Convert all remaining subsystems to use the new shmem allocation API

This removes all remaining uses of ShmemInitStruct() and
ShmemInitHash() from built-in code.

Reviewed-by: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Reviewed-by: Matthias van de Meent <boekewurm+postgres@gmail.com>
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
Discussion: https://www.postgresql.org/message-id/CAExHW5vM1bneLYfg0wGeAa=52UiJ3z4vKd3AJ72X8Fw6k3KKrg@mail.gmail.com

Files

PathChange+/−
src/backend/access/common/syncscan.c modified +37 −39
src/backend/access/nbtree/nbtutils.c modified +26 −28
src/backend/access/transam/twophase.c modified +39 −36
src/backend/access/transam/xlog.c modified +43 −39
src/backend/access/transam/xlogprefetcher.c modified +27 −24
src/backend/access/transam/xlogrecovery.c modified +18 −17
src/backend/access/transam/xlogwait.c modified +26 −24
src/backend/postmaster/autovacuum.c modified +38 −41
src/backend/postmaster/bgworker.c modified +53 −52
src/backend/postmaster/checkpointer.c modified +25 −31
src/backend/postmaster/datachecksum_state.c modified +14 −27
src/backend/postmaster/pgarch.c modified +21 −22
src/backend/postmaster/walsummarizer.c modified +30 −30
src/backend/replication/logical/launcher.c modified +28 −28
src/backend/replication/logical/logicalctl.c modified +13 −16
src/backend/replication/logical/origin.c modified +34 −25
src/backend/replication/logical/slotsync.c modified +22 −19
src/backend/replication/slot.c modified +29 −35
src/backend/replication/walreceiverfuncs.c modified +25 −26
src/backend/replication/walsender.c modified +29 −30
src/backend/storage/ipc/ipci.c modified +1 −123
src/backend/storage/lmgr/lock.c modified +43 −66
src/backend/utils/activity/backend_status.c modified +69 −104
src/backend/utils/activity/pgstat_shmem.c modified +81 −77
src/backend/utils/activity/wait_event.c modified +36 −47
src/backend/utils/misc/injection_point.c modified +26 −31
src/include/access/nbtree.h modified +0 −2
src/include/access/syncscan.h modified +0 −2
src/include/access/twophase.h modified +0 −3
src/include/access/xlog.h modified +0 −2
src/include/access/xlogprefetcher.h modified +0 −3
src/include/access/xlogrecovery.h modified +0 −3
src/include/access/xlogwait.h modified +0 −2
src/include/pgstat.h modified +0 −4
src/include/postmaster/autovacuum.h modified +0 −4
src/include/postmaster/bgworker_internals.h modified +0 −2
src/include/postmaster/bgwriter.h modified +0 −3
src/include/postmaster/datachecksum_state.h modified +0 −4
src/include/postmaster/pgarch.h modified +0 −2
src/include/postmaster/walsummarizer.h modified +0 −2
src/include/replication/logicalctl.h modified +0 −2
src/include/replication/logicallauncher.h modified +0 −3
src/include/replication/origin.h modified +0 −4
src/include/replication/slot.h modified +0 −4
src/include/replication/slotsync.h modified +0 −2
src/include/replication/walreceiver.h modified +0 −2
src/include/replication/walsender.h modified +0 −2
src/include/storage/lock.h modified +0 −2
src/include/storage/subsystemlist.h modified +27 −0
src/include/utils/backend_status.h modified +0 −8
src/include/utils/injection_point.h modified +0 −3
src/include/utils/wait_event.h modified +0 −2
src/test/modules/injection_points/injection_points.c modified +19 −40
src/test/modules/test_aio/test_aio.c modified +48 −59

Discussion