Re: Asynchronous and "direct" IO support for PostgreSQL.
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>,
David Rowley <dgrowleyml@gmail.com>, Melanie Plageman <melanieplageman@gmail.com>
Date: 2021-09-23T06:28:00Z
Lists: pgsql-hackers
On Wed, Sep 1, 2021 at 5:57 PM Andres Freund <andres@anarazel.de> wrote: > - lots of progress on posix AIO backend (Thomas) A quick note on this piece: Though it's still a work in progress with a few things that need to be improved, I've tested this on a whole lot of different OSes now. I originally tried to use realtime signals (big mistake), but after a couple of reworks I think it's starting to look plausible and quite portable. Of the ~10 or so OSes we support and test in the build farm, ~8 of them have this API, and of those I have only one unknown: HPUX (I have no access and I am beginning to suspect it is an ex-parrot), and one mysteriously-doesn't-work: NetBSD (I'd be grateful for any clues from NetBSD gurus and happy to provide build/test instructions if anyone would like to take a look).
Commits
-
aio: Add README.md explaining higher level design
- fdd146a8ef2b 18.0 landed
-
bufmgr: Use AIO in StartReadBuffers()
- 12ce89fd0708 18.0 landed
-
bufmgr: Implement AIO read support
- 047cba7fa0f8 18.0 landed
-
aio: Implement support for reads in smgr/md/fd
- 50cb7505b301 18.0 landed
-
aio: Add io_method=io_uring
- c325a7633fcb 18.0 landed
-
aio: Add io_method=worker
- 247ce06b883d 18.0 landed
-
aio: Infrastructure for io_method=worker
- 55b454d0e140 18.0 landed
-
aio: Add core asynchronous I/O infrastructure
- da7226993fd4 18.0 landed