Jan Wieck wrote:
> Bruce Momjian wrote:
> 
> > Kurt Roeckx wrote:
> >> On Thu, Nov 13, 2003 at 04:35:31PM -0500, Jan Wieck wrote:
> >> > For sure the sync() needs to be replaced by the discussed fsync() of 
> >> > recently written files. And I think the algorithm how much and how often 
> >> > to flush can be significantly improved. But after all, this does not 
> >> > change the real checkpointing at all, and the general framework having a 
> >> > separate process is what we probably want.
> >> 
> >> Why is the sync() needed at all?  My understanding was that it
> >> was only needed in case of a checkpoint.
> > 
> > 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.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match

Reply via email to