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