Re: Background writer process - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Background writer process
Date
Msg-id 200311140016.hAE0Gr708195@candle.pha.pa.us
Whole thread Raw
In response to Re: Background writer process  (Kurt Roeckx <Q@ping.be>)
List pgsql-hackers
Kurt Roeckx wrote:
> On Thu, Nov 13, 2003 at 05:39:32PM -0500, Bruce Momjian wrote:
> > Jan Wieck wrote:
> > > Bruce Momjian wrote:
> > > > He found that write() itself didn't encourage the kernel to write the
> > > > buffers to disk fast enough.  I think the final solution will be to use
> > > > fsync or O_SYNC.
> > > 
> > > write() alone doesn't encourage the kernel to do any physical IO at all. 
> > > As long as you have enough OS buffers, it does happy write caching until 
> > > you checkpoint and sync(), and then the system freezes.
> > 
> > That's not completely true.  Some kernels with trickle sync, meaning
> > they sync a little bit regularly rather than all at once so write() does
> > help get those shared buffers into the kernel for possible writing. 
> > Also, it is possible the kernel will issue a sync() on its own.
> 
> So basicly on some kernels you want them to flush their dirty
> buffers faster.
> 
> I have a feeling we should more make it depend on the system how
> we ask them not to keep it in memory too long and that maybe the
> sync(), fsync() or O_SYNC could be a fallback in case it's needed
> and there are no better ways of doing it.

I think the final plan is to have a GUC variable that controls how the
kernel is _encouraged_ to write dirty buffers to disk.

--  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: Jan Wieck
Date:
Subject: Re: cvs head? initdb?
Next
From: Bruce Momjian
Date:
Subject: Re: Background writer process