Re: msync() behaviour broken for MS_ASYNC, revert patch?

From: Andrew Morton
Date: Thu Feb 09 2006 - 23:45:07 EST


Nick Piggin <nickpiggin@xxxxxxxxxxxx> wrote:
>
> > Secondly, consider the behaviour of the above application if it is modifying
> > the same page relatively frequently (quite likely). If MS_ASYNC starts I/O
> > immediately, that page will get written 10, 100 or 1000 times per second.
> > If MS_ASYNC leaves it to pdflush, that page gets written once per 30
> > seconds, so we do far much less I/O.
> >
> > We just don't know. It's better to leave it up to the application designer
> > rather than lumping too many operations into the one syscall.
>
> Well it remains the same conceptual operation (asynchronously "schedule"
> dirty pages for writeout). However it simply becomes more useful to start
> the writeout immediately, given that's the (pretty explicit) hint that is
> given to us.

If you want to start the I/O now, fine, start the I/O now.

If you don't want to start I/O now, fine, don't start I/O now.

If msync() were to unconditionally start I/O, you don't get that option.

It's pretty simple, isn't it?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/