Messages in this thread | | | Subject | Re: [PATCH -v8 3/4] Enable the MS_ASYNC functionality in sys_msync() | From | Miklos Szeredi <> | Date | Wed, 23 Jan 2008 20:55:34 +0100 |
| |
> > > > 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
| |