From: | Neil Conway <neilc(at)samurai(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | ITAGAKI Takahiro <itagaki(dot)takahiro(at)lab(dot)ntt(dot)co(dot)jp>, pgsql-patches(at)postgresql(dot)org |
Subject: | Re: O_DIRECT for WAL writes |
Date: | 2005-05-31 01:08:27 |
Message-ID: | 1117501707.6678.18.camel@localhost.localdomain |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
On Mon, 2005-05-30 at 11:24 -0400, Tom Lane wrote:
> Wouldn't count on it :-(. One thing I'm particularly worried about is
> buffer cache consistency: does the kernel guarantee to flush any buffers
> it has that overlap the O_DIRECT write operation?
At least on Linux I believe the kernel guarantees consistency between
O_DIRECT and non-O_DIRECT operations. From googling, it seems AIX also
provides consistency, albeit not for free[1]:
To avoid consistency issues, if there are multiple calls to open
a file and one or more of the calls did not specify O_DIRECT and
another open specified O_DIRECT, the file stays in the normal
cached I/O mode. Similarly, if the file is mapped into memory
through the shmat() or mmap() system calls, it stays in normal
cached mode. If the last conflicting, non-direct access is
eliminated, then the file system will move the file into direct
I/O mode (either by using the close(), munmap(), or shmdt()
subroutines). Changing from normal mode to direct I/O mode can
be expensive because all modified pages in memory will have to
be flushed to disk at that point.
-Neil
[1]
http://publib16.boulder.ibm.com/pseries/en_US/aixbman/prftungd/diskperf9.htm
From | Date | Subject | |
---|---|---|---|
Next Message | Neil Conway | 2005-05-31 01:12:48 | Re: [HACKERS] pg_buffercache causes assertion failure |
Previous Message | Mark Kirkwood | 2005-05-31 01:07:15 | Re: [HACKERS] pg_buffercache causes assertion failure |
From | Date | Subject | |
---|---|---|---|
Next Message | Neil Conway | 2005-05-31 01:12:48 | Re: [HACKERS] pg_buffercache causes assertion failure |
Previous Message | Mark Kirkwood | 2005-05-31 01:07:15 | Re: [HACKERS] pg_buffercache causes assertion failure |