Nick Piggin <nickpiggin@xxxxxxxxxxxx> wrote: > Presumably: at the point where data is needed. But the point where the data is needed is where filemap.c is waiting on a netfs page. Maybe the sync_page() aop can deal with it There's also the problem of recording and pinning the backing page I'm waiting for. Currently I can do that by hooking the monitor block into the page unlock watching list. If I don't do that, I have to use up yet more memory to track those some other way. It's not impossible, but I'd like to keep memory usage down. > Or do you actually have numbers showing a problem if you just read the pages > then copy them? I did, years ago. It wasn't particularly good, but fscache_read_or_alloc_pages() was completely synchronous. > If there is a problem, then why doesn't fscache_read_or_alloc_pages caller > do the work itself, then you get as many threads as you have indivisible > work units, so completing some part of the request before another wouldn't > gain you anything anyway... (1) Trond stipulated FS-Cache had to be asynchronous, and it is, as far as I can make it. I still have to invoke bmap() synchronously, though, to find out whether I have a page in the cache to read:-/ (2) You lose the advantage of being able to process what you've got whilst the disk is fetching stuff in the background. David -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html