Messages in this thread | | | Subject | Re: mmap over nfs leads to excessive system load | From | Trond Myklebust <> | Date | Wed, 16 Nov 2005 15:05:00 -0500 |
| |
On Wed, 2005-11-16 at 11:09 -0800, Andrew Morton wrote: > Trond Myklebust <trond.myklebust@fys.uio.no> wrote: > > > > On Wed, 2005-11-16 at 10:00 -0800, Andrew Morton wrote: > > > > > That will fix it, but the PageWriteback accounting is still wrong. > > > > > > Is it not possible to use set_page_writeback()/end_page_writeback()? > > > > Not really. The pages aren't flushed at this time. We the point is to > > gather several pages and coalesce them into one over-the-wire RPC call. > > That means we cannot really do it from inside ->writepage(). > > > > I still don't get it. > > Once nfs_writepage() has been called, the page is conceptually "under > writeback", yes? In that, at some point in the future, it will be written > to backing store. > > Hence it's perfectly appropriate to run set_page_writepage() within > nfs_writepage(). It's a matter of finding the right place for the > end_page_writeback().
The point is that the process of flushing has not been started at that time, so anybody that calls wait_on_page_writeback() immediately after calling writepage() may end up waiting for a very long time indeed (probably until the next pdflush).
Cheers, Trond
- 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/
| |