Re: Raw device on PostgreSQL - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: Raw device on PostgreSQL
Date
Msg-id CA+hUKG+Vy+d47wqcNkKnGCiis581SM6dz-0vevSH4V44P_AhZw@mail.gmail.com
Whole thread Raw
In response to Re: Raw device on PostgreSQL  ("Jonah H. Harris" <jonah.harris@gmail.com>)
Responses Re: Raw device on PostgreSQL  ("Jonah H. Harris" <jonah.harris@gmail.com>)
List pgsql-hackers
On Fri, May 1, 2020 at 12:28 PM Jonah H. Harris <jonah.harris@gmail.com> wrote:
> Also, this will likely have an issue with O_DIRECT as additional buffer manager alignment is needed and I haven't
trackedit down in 13 yet. As my default development is on a Mac, I have POSIX AIO only. As such, I can't natively play
withthe O_DIRECT or libaio paths to see if they work without going into Docker or VirtualBox - and I don't care that
muchright now :) 

Andres is prototyping with io_uring, which supersedes libaio and can
do much more stuff, notably buffered and unbuffered I/O; there's no
point in looking at libaio.  I agree that we should definitely support
POSIX AIO, because that gets you macOS, FreeBSD, NetBSD, AIX, HPUX
with one effort (those are the systems that use either kernel threads
or true async I/O down to the driver; Solaris and Linux also provide
POSIX AIO, but it's emulated with user space threads, which probably
wouldn't work well for our multi process design).  The third API that
we'd want to support is Windows overlapped I/O with completion ports.
With those three APIs you can hit all systems in our build farm except
Solaris and OpenBSD, so they'd still use synchronous I/O (though we
could do our own emulation with worker processes pretty easily).



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: design for parallel backup
Next
From: "Jonah H. Harris"
Date:
Subject: Re: Raw device on PostgreSQL