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.
Jan
-- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================== [EMAIL PROTECTED] #
---------------------------(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