Messages in this thread | | | Date | Thu, 9 Feb 2006 00:42:08 -0800 | From | Andrew Morton <> | Subject | Re: msync() behaviour broken for MS_ASYNC, revert patch? |
| |
Nick Piggin <nickpiggin@yahoo.com.au> wrote: > > Andrew Morton wrote: > > > > > 2.4: > > > > MS_ASYNC: dirty the pagecache pages, start I/O > > MS_SYNC: dirty the pagecache pages, start I/O, wait on I/O > > > > 2.6: > > > > MS_ASYNC: dirty the pagecache pages > > MS_SYNC: dirty the pagecache pages, start I/O, wait on I/O. > > > > So you're saying that doing the I/O in that 25-100msec window allowed your > > app to do more pipelining. > > > > I think for most scenarios, what we have in 2.6 is better: it gives the app > > more control over when the I/O should be started. > > How so? >
Well, for example you might want to msync a number of disjoint parts of the mapping, then write them all out in one hit.
Or you may not actually _want_ to start the I/O now - you just want pdflush to write things back in a reasonable time period, so you don't have unsynced data floating about in memory for eight hours. That's a quite reasonable application of msync(MS_ASYNC).
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |