Re: [PATCH -v8 3/4] Enable the MS_ASYNC functionality insys_msync()

From: Miklos Szeredi
Date: Wed Jan 23 2008 - 14:55:54 EST


> >
> > It would need some addition piece to not call msync_interval() for
> > MS_SYNC, and remove the balance_dirty_pages_ratelimited_nr() stuff.
> >
> > But yeah, this pte walker is much better.
>
> Actually, I think this patch is much better.
>
> Anyway, it's better because:
> - it actually honors the range
> - it uses the same code for MS_ASYNC and MS_SYNC
> - it just avoids doing the "wait for" for MS_ASYNC.
>
> However, it's totally untested, of course. What did you expect? Clean code
> _and_ testing?
>
> [ Side note: it is quite possible that we should not do the
> SYNC_FILE_RANGE_WAIT_BEFORE on MS_ASYNC, and just skip over pages that
> are busily under writeback already.

MS_ASYNC is not supposed to wait, so SYNC_FILE_RANGE_WAIT_BEFORE
probably should not be used in that case.

What would be perfect, is if we had a sync mode, that on encountering
a page currently under writeback, would just do a page_mkclean() on
it, so we still receive a page fault next time one of the mappings is
dirtied, so the times can be updated.

Would there be any difficulties with that?

Miklos
--
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/