> >>1. Open WAL files with O_SYNC|O_DIRECT or O_SYNC(Not sure if
> > Without grouping WAL writes that does not fly. Iff however such grouping
> > is implemented that should deliver optimal performance. I don't think flushing
> > WAL to the OS early (before a tx commits) is necessary, since writing 8k or 256k
> > to disk with one call takes nearly the same time. The WAL write would need to be
> > done as soon as eighter 256k fill or a txn commits.
>
> That means no special treatment to WAL files? If it works, great. There would be
> single class of files to take care w.r.t sync. issue. Even more simpler.
No, WAL needs special handling. Eighter leave it as is with write + f[data]sync,
or implement O_SYNC|O_DIRECT with grouping of writes (the current O_SYNC implementation
is only good for small (<8kb) transactions).
Andreas