Re: Streaming I/O, vectored I/O (WIP)
Cedric Villemain <cedric.villemain+pgsql@abcsql.com>
From: Cédric Villemain <cedric.villemain+pgsql@abcsql.com>
To: Thomas Munro <thomas.munro@gmail.com>,
Heikki Linnakangas <hlinnaka@iki.fi>
Cc: Andres Freund <andres@anarazel.de>,
pgsql-hackers <pgsql-hackers@postgresql.org>,
Melanie Plageman <melanieplageman@gmail.com>
Date: 2023-12-30T12:01:04Z
Lists: pgsql-hackers
Le 11/12/2023 à 10:12, Thomas Munro a écrit : > 3. smgrreadv/smgrwritev patch: > > * improved ENOSPC handling > * improve description of EOF and ENOSPC handling > * fixed the sizes reported in dtrace static probes > * fixed some words in the docs about that > * changed error messages to refer to "blocks %u..%u" > > 4. smgrprefetch-with-nblocks patch has no change, hasn't drawn any > comments hopefully because it is uncontroversial. > > I'm planning to commit these fairly soon. Thanks, very useful additions. Not sure what you have already done to come next... I have 2 smalls patches here: * to use range prefetch in pg_prewarm (smgrprefetch only at the moment, using smgrreadv to come next). * to support nblocks=0 in smgrprefetch (posix_fadvise supports a len=0 to apply flag from offset to end of file). Should I add to commitfest ? --- Cédric Villemain +33 (0)6 20 30 22 52 https://Data-Bene.io PostgreSQL Expertise, Support, Training, R&D
Commits
-
Fix typos and incorrect type in read_stream.c
- 2ea4b2927722 17.0 landed
-
Use streaming I/O in pg_prewarm.
- 3a352df05e65 17.0 landed
-
Provide API for streaming relation data.
- b5a9b18cd0bc 17.0 landed
-
Provide vectored variant of ReadBuffer().
- 210622c60e1a 17.0 landed
-
Provide vectored variants of smgrread() and smgrwrite().
- 4908c5872059 17.0 landed
-
Provide multi-block smgrprefetch().
- b485ad7f07c8 17.0 landed
-
Provide vectored variants of FileRead() and FileWrite().
- 871fe4917e1e 17.0 landed
-
Provide helper for retrying partial vectored I/O.
- 0c6be59f5e34 17.0 landed
-
Optimize pg_readv/pg_pwritev single vector case.
- 15c9ac362993 17.0 landed
-
bufmgr: Support multiple in-progress IOs by using resowner
- 12f3867f5534 16.0 cited