aio: Basic subsystem initialization
authorAndres Freund <andres@anarazel.de>
Mon, 17 Mar 2025 22:51:33 +0000 (18:51 -0400)
committerAndres Freund <andres@anarazel.de>
Mon, 17 Mar 2025 22:51:33 +0000 (18:51 -0400)
commit02844012b304ba80d1c48d51f6fe10bb622490cc
treec7753eb6c900a00ebdaa2311b87aefbb21d9f588
parent65db3963ae7154b8f01e4d73dc6b1ffd81c70e1e
aio: Basic subsystem initialization

This commit just does the minimal wiring up of the AIO subsystem, added in the
next commit, to the rest of the system. The next commit contains more details
about motivation and architecture.

This commit is kept separate to make it easier to review, separating the
changes across the tree, from the implementation of the new subsystem.

We discussed squashing this commit with the main commit before merging AIO,
but there has been a mild preference for keeping it separate.

Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi>
Reviewed-by: Noah Misch <noah@leadboat.com>
Discussion: https://postgr.es/m/uvrtrknj4kdytuboidbhwclo4gxhswwcpgadptsjvjqcluzmah%40brqs62irg4dt
24 files changed:
doc/src/sgml/config.sgml
src/backend/access/transam/xact.c
src/backend/postmaster/autovacuum.c
src/backend/postmaster/bgwriter.c
src/backend/postmaster/checkpointer.c
src/backend/postmaster/pgarch.c
src/backend/postmaster/walsummarizer.c
src/backend/postmaster/walwriter.c
src/backend/replication/walsender.c
src/backend/storage/aio/Makefile
src/backend/storage/aio/aio.c [new file with mode: 0644]
src/backend/storage/aio/aio_init.c [new file with mode: 0644]
src/backend/storage/aio/meson.build
src/backend/storage/ipc/ipci.c
src/backend/utils/init/postinit.c
src/backend/utils/misc/guc_tables.c
src/backend/utils/misc/postgresql.conf.sample
src/backend/utils/resowner/resowner.c
src/include/storage/aio.h [new file with mode: 0644]
src/include/storage/aio_subsys.h [new file with mode: 0644]
src/include/utils/guc.h
src/include/utils/guc_hooks.h
src/include/utils/resowner.h
src/tools/pgindent/typedefs.list