Re: O_DIRECT in freebsd

From: Manfred Spraul <manfred(at)colorfullife(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Doug McNaught <doug(at)mcnaught(dot)org>, Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: O_DIRECT in freebsd
Date: 2003-10-29 17:45:24
Message-ID: 3F9FFCB4.1020103@colorfullife.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:

> Not for WAL --- we never read the WAL at all in normal operation. (If
>
>it works for writes, then we would want to use it for writing WAL, but
>that's not apparent from what Christopher quoted.)
>
At least under Linux, it works for writes. Oracle uses O_DIRECT to
access (both read and write) disks that are shared between multiple
nodes in a cluster - their database kernel must know when the data is
visible to the other nodes.
One problem for WAL is that O_DIRECT would disable the write cache -
each operation would block until the data arrived on disk, and that
might block other backends that try to access WALWriteLock.
Perhaps a dedicated backend that does the writeback could fix that.

Has anyone tried to use posix_fadvise for the wal logs?
http://www.opengroup.org/onlinepubs/007904975/functions/posix_fadvise.html

Linux supports posix_fadvise, it seems to be part of xopen2k.

--
Manfred

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2003-10-29 20:26:39 Re: Port Reports: UnixWare/Failure/Priviledge Test
Previous Message Tom Lane 2003-10-29 15:06:34 Re: O_DIRECT in freebsd