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 [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 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]