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

From Jonah H. Harris
Subject Re: Raw device on PostgreSQL
Date
Msg-id CADUqk8Unc-0mScnnRsgU7ZYbUg4G8fe=NuWO=dhGYJLb2P=eCg@mail.gmail.com
Whole thread Raw
In response to Re: Raw device on PostgreSQL  (Thomas Munro <thomas.munro@gmail.com>)
List pgsql-hackers
On Fri, May 1, 2020 at 4:59 PM Thomas Munro <thomas.munro@gmail.com> wrote:
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 tracked it down in 13 yet. As my default development is on a Mac, I have POSIX AIO only. As such, I can't natively play with the O_DIRECT or libaio paths to see if they work without going into Docker or VirtualBox - and I don't care that much right 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).

Is it public? I saw the presentations, but couldn't find that patch anywhere. 

--
Jonah H. Harris

pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: Raw device on PostgreSQL
Next
From: Ranier Vilela
Date:
Subject: Re: Unify drop-by-OID functions