Re: O_DIRECT in freebsd - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: O_DIRECT in freebsd
Date
Msg-id 200306230243.h5N2haa15347@candle.pha.pa.us
Whole thread Raw
In response to Re: O_DIRECT in freebsd  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: O_DIRECT in freebsd  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Basically, I think we need free-behind rather than O_DIRECT.
> 
> There are two separate issues here --- one is what's happening in our
> own cache, and one is what's happening in the kernel disk cache.
> Implementing our own free-behind code would help in our own cache but
> does nothing for the kernel cache.

Right.

> My thought on this is that for large seqscans we could think about
> doing reads through a file descriptor that's opened with O_DIRECT.
> But writes should never go through O_DIRECT.  In some scenarios this
> would mean having two FDs open for the same relation file.  This'd
> require moderately extensive changes to the smgr-related APIs, but
> it doesn't seem totally out of the question.  I'd kinda like to see
> some experimental evidence that it's worth doing though.  Anyone
> care to make a quick-hack prototype and do some measurements?

True, it is a cost/benefit issue.  My assumption was that once we have
free-behind in the PostgreSQL shared buffer cache, the kernel cache
issues would be minimal, but I am willing to be found wrong.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: Weiping He
Date:
Subject: Re: a problem with index and user define type
Next
From: Bruce Momjian
Date:
Subject: Re: O_DIRECT in freebsd