> > Yes, writes are only necessary when "too many dirty pages"
> > are in the buffer pool. Those writes can be done by a page flusher
> > on demand or during checkpoint (don't know if we need checkpoint,
> > but you referred to doing checkpoints).
>
> How else to know from where in log to start redo and how far go back
> for undo ?
I don't know, but if your checkpoint algorithm does not need to block
other activity, that would be great.
The usual way would involve: writing all dirty pages to disk during checkpointblock all modifying activity
One other thing I would like to ask, is O_SYNC not available on all platforms ?
Then you could avoid the (or some) fsync calls in xlog.c ?
And is there a possibility to add -F mode without fsyncs to xlog.c ?
Andreas