Re: We really ought to do something about O_DIRECT and data=journalled on ext4
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: Josh Berkus <josh@agliodbs.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Robert Haas <robertmhaas@gmail.com>, Greg Smith <greg@2ndquadrant.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-03-11T01:25:52Z
Lists: pgsql-hackers
Attachments
- /rtmp/fsync.diff (text/x-diff) patch
Josh Berkus wrote: > On 12/6/10 6:10 PM, Tom Lane wrote: > > Robert Haas <robertmhaas@gmail.com> writes: > >> On Mon, Dec 6, 2010 at 9:04 PM, Josh Berkus <josh@agliodbs.com> wrote: > >>> Actually, on OSX 10.5.8, o_dsync and fdatasync aren't even available. > >>> From my run, it looks like even so regular fsync might be better than > >>> open_sync. > > > >> But I think you need to use fsync_writethrough if you actually want durability. > > > > Yeah. Unless your laptop contains an SSD, those numbers are garbage on > > their face. So that's another problem with test_fsync: it omits > > fsync_writethrough. > > Yeah, the issue with test_fsync appears to be that it's designed to work > without os-specific switches no matter what, not to accurately reflect > how we access wal. I have now modified pg_test_fsync to use O_DIRECT for O_SYNC/O_FSYNC, and O_DSYNC, if supported, so it now matches how we use WAL (except we don't use O_DIRECT when in 'archive' and 'hot standby' mode). Applied patch attached. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +