Re: Direct I/O
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: Justin Pryzby <pryzby@telsasoft.com>, pgsql-hackers@postgresql.org
Date: 2022-12-22T02:04:04Z
Lists: pgsql-hackers
Attachments
- v3-0001-Introduce-PG_IO_ALIGN_SIZE-and-align-all-I-O-buff.patch (text/x-patch) patch v3-0001
- v3-0002-Add-io_direct-setting-developer-only.patch (text/x-patch) patch v3-0002
- v3-0003-XXX-turn-on-direct-I-O-by-default-just-for-CI.patch (text/x-patch) patch v3-0003
On Wed, Dec 14, 2022 at 5:48 PM Thomas Munro <thomas.munro@gmail.com> wrote: > 0001 -- David's palloc_aligned() patch https://commitfest.postgresql.org/41/3999/ > 0002 -- I/O-align almost all buffers used for I/O > 0003 -- Add the GUCs > 0004 -- Throwaway hack to make cfbot turn the GUCs on David pushed the first as commit 439f6175, so here is a rebase of the rest. I also fixed a couple of thinkos in the handling of systems where we don't know how to do direct I/O. In one place I had #ifdef PG_O_DIRECT, but that's always defined, it's just that it's 0 on Solaris and OpenBSD, and the check to reject the GUC wasn't quite right on such systems.
Commits
-
Rename hook functions for debug_io_direct to match variable name.
- 155c81463c26 16.0 landed
- 4f3514f201cf 17.0 landed
-
Rename io_direct to debug_io_direct.
- 319bae9a8da6 16.0 landed
-
Skip the 004_io_direct.pl test if a pre-flight check fails.
- 6ca8df2d6147 16.0 landed
-
Use higher wal_level for 004_io_direct.pl.
- 980e8879f54a 16.0 landed
-
Skip \password TAP test on old IPC::Run versions
- 2e57ffe12f6b 16.0 cited
-
Add io_direct setting (developer-only).
- d4e71df6d757 16.0 landed
-
Introduce PG_IO_ALIGN_SIZE and align all I/O buffers.
- faeedbcefd40 16.0 landed
-
Add palloc_aligned() to allow aligned memory allocations
- 439f61757f05 16.0 cited
-
initdb: When running CREATE DATABASE, use STRATEGY = WAL_COPY.
- ad43a413c4f7 15.0 cited