Whether it's eventually implemented in the VFS or as ioctl s on a fancy new filesystem is really beside the point. I'd guess this is also similar to stalls seen when writing to a slow USB device those eventually turn into forced syncs because of dirty limits induced forced writeback and case similar starvation.
Why not write all edits for a specific region into its own log file? It would also be nice to be able move pages in the opposite direction: PostgreSQL might want to remove a clean page from its own cache, but leave a copy in the page cache.
If the FS implementations can't fix that behaviour, how's any other file attribute, going to help the situation? Another example, mythtv, calls fsync once per second while recording TV just to avoid a huge file operations delayed when memory pressure causes an implicit sync operation.
Dirty page caching not mostly harmless Posted Mar 26, UTC Wed by zblaxell subscriber, [ Link ] My experience is that "less is better" for cached dirty pages in the kernel. So what I was trying to avoid was calling fsync.
It is more current than any version of that data that the kernel might have in the page cache; the only thing that will ever happen to the page cache copy is that it will be overwritten when PostgreSQL flushes the dirty buffer. LogRoller Obviously it makes sense to have some size restrictions related to the logs written.
But I don't know if those code paths are similar enough in that fixing one will also directly benefit the other.
About ClearCase: anyone who has used it and used other things knows it was one of the worst pieces of engineering ever. Andres noted that he has been called in as a consultant many times to deal with performance problems related to zone reclaim; it has, he said been a good money-maker for him.