I think this could also create extra churn, by scheduling a lot of disk writes when a series of writes are done all at once to a single file.
Traditionally, this is addressed by the every-30-seconds update task; there is no expectation of an indefinitely postponed write. However, much could be improved in this area. Ideally, writes would happen at a smoothly increasing rate as page pressure increased; and ideally, the kernel would be correctly detected sequential access patterns and paging out finished pages speedily on its own. Thomas On Tue, Sep 13, 2011 at 12:50 PM, Sergio López <sl...@sinrega.org> wrote: > Hi, > > Currently, libdiskfs:io_write.c only calls "diskfs_file_update(struct > node *np, int wait)" if the node has been opened with O_FSYNC or if > the entire translator is operating synchronously (diskfs_synchronous > == 1). I think calling diskfs_file_update (with wait == 0) when > working asynchronously could help to reduce pageout pressure during > large I/O operations (except if those operations are being generated > by a mmap'ed file), at the expense of losing the ability of > indefinitely delaying the actual write. >