pgsql: Enable IO concurrency on all systems

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Enable IO concurrency on all systems
Date: 2025-03-30 23:41:40
Message-ID: E1tz2Hc-001q8F-2j@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Enable IO concurrency on all systems

Previously effective_io_concurrency and maintenance_io_concurrency could not
be set above 0 on machines without fadvise support. AIO enables IO concurrency
without such support, via io_method=worker.

Currently only subsystems using the read stream API will take advantage of
this. Other users of maintenance_io_concurrency (like recovery prefetching)
which leverage OS advice directly will not benefit from this change. In those
cases, maintenance_io_concurrency will have no effect on I/O behavior.

Author: Melanie Plageman <melanieplageman(at)gmail(dot)com>
Reviewed-by: Noah Misch <noah(at)leadboat(dot)com>
Discussion: https://postgr.es/m/CAAKRu_atGgZePo=_g6T3cNtfMf0QxpvoUh5OUqa_cnPdhLd=gw@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/2a5e709e721cf5f890cde51755b84cfe25d1c4d9

Modified Files
--------------
doc/src/sgml/config.sgml | 16 +++++++-------
doc/src/sgml/ref/alter_tablespace.sgml | 2 +-
doc/src/sgml/ref/create_tablespace.sgml | 2 +-
src/backend/access/common/reloptions.c | 8 -------
src/backend/commands/variable.c | 30 ---------------------------
src/backend/utils/misc/guc_tables.c | 4 ++--
src/backend/utils/misc/postgresql.conf.sample | 4 ++--
src/bin/initdb/initdb.c | 5 -----
src/include/storage/bufmgr.h | 6 ------
src/include/utils/guc_hooks.h | 4 ----
10 files changed, 14 insertions(+), 67 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Jeff Davis 2025-03-31 05:15:23 pgsql: Add relallfrozen to pg_dump statistics.
Previous Message Andres Freund 2025-03-30 22:59:25 pgsql: aio: Basic read_stream adjustments for real AIO