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.
>

Reply via email to