Re: O_DIRECT on macOS
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andres Freund <andres@anarazel.de>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2021-07-20T05:01:43Z
Lists: pgsql-hackers
On Tue, Jul 20, 2021 at 12:26 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > > I can try that on the gcc farm in a bit. Thanks! > Hmm, it compiles cleanly, but something seems drastically wrong, > because performance is just awful. On the other hand, I don't > know what sort of storage is underlying this instance, so maybe > that's to be expected? Ouch. I assume this was without wal_method=minimal (or it'd have reached the new code and failed completely, based on the pg_test_fsync result). > open_datasync n/a* I'm waiting for access, but I see from man pages that closed source ZFS doesn't accept DIRECTIO_ON, so it may not be possible to see it work on an all-ZFS system that you can't mount a new FS on. Hmm. Well, many OSes have file systems that can't do it (ext4 journal=data, etc). One problem is that we don't treat all OSes the same when selecting wal_sync_method, even though O_DIRECT is complicated on many OSes. It would also be nice if the choice to use direct I/O were independently controlled, and ... [trails off]. Alright, I'll leave this on ice for now.
Commits
-
Don't use #if inside function-like macro arguments.
- 0c08856856f5 15.0 landed
-
Support direct I/O on macOS.
- 2dbe8905711b 15.0 landed