public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Andrew Morton <akpm@osdl.org>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>,
	sgoel01@yahoo.com, linux-kernel@vger.kernel.org
Subject: Re: 2.6.6-rc{1,2} bad VM/NFS interaction in case of dirty page writeback
Date: Tue, 27 Apr 2004 16:10:48 +1000	[thread overview]
Message-ID: <408DF968.70500@yahoo.com.au> (raw)
In-Reply-To: <20040426205928.58d76dbc.akpm@osdl.org>

Andrew Morton wrote:
> Trond Myklebust <trond.myklebust@fys.uio.no> wrote:
> 
>>On Mon, 2004-04-26 at 22:15, Andrew Morton wrote:
>>
>>>WRITEPAGE_ACTIVATE is a bit of a hack to fix up specific peculiarities of
>>>the interaction between tmpfs and page reclaim.
>>>
>>>Trond, the changelog for that patch does not explain what is going on in
>>>there - can you help out?
>>
>>As far as I understand, the WRITEPAGE_ACTIVATE hack is supposed to allow
>>filesystems to defer actually starting the I/O until the call to
>>->writepages(). This is indeed beneficial to NFS, since most servers
>>will work more efficiently if we cluster NFS write requests into "wsize"
>>sized chunks.
> 
> 
> No, it's purely used by tmpfs when we discover the page was under mlock or
> we've run out of swapspace.
> 
> Yes, single-page writepage off the LRU is inefficient and we want
> writepages() to do most of the work.  For most workloads, this is the case.
> It's only the whacky mmap-based test which should encounter significant
> amounts of vmscan.c writepage activity.

Nikita has a patch to gather a page's dirty bits before
taking it off the active list. It might help here a bit.
Looks like it would need porting to the new rmap stuff.

>  If you're seeing much traffic via
> that route I'd be interested in knowing what the workload is.
> 
> There's one scenario in which we _do_ do too much writepage off the LRU,
> and that's on 1G ia32 highmem boxes: the tiny highmem zone is smaller than
> dirty_ratio and vmscan ends up doing work which balance_dirty_pages()
> should have done.  Hard to fix, apart from reducing the dirty memory
> limits.
> 

You might be able to improve this by not allocating the
highmem zone right down to its scanning watermark while
zone normal has lots of free memory.

      parent reply	other threads:[~2004-04-27  6:10 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-27  1:12 2.6.6-rc{1,2} bad VM/NFS interaction in case of dirty page writeback Shantanu Goel
2004-04-27  2:15 ` Andrew Morton
2004-04-27  3:11   ` Trond Myklebust
2004-04-27  3:59     ` Andrew Morton
2004-04-27  5:23       ` Trond Myklebust
2004-04-27  5:58         ` Andrew Morton
2004-04-27 11:44           ` Shantanu Goel
2004-04-27 15:36           ` Trond Myklebust
2004-04-28  0:47             ` Shantanu Goel
2004-04-28  1:02               ` Andrew Morton
2004-04-28  1:28                 ` Trond Myklebust
2004-04-28  1:38                   ` Andrew Morton
2004-04-28  5:29             ` Christoph Hellwig
2004-04-28 16:17               ` Trond Myklebust
2004-04-28 16:38                 ` Christoph Hellwig
2004-04-28 19:07                   ` Andrew Morton
2004-04-29  1:48                     ` Nathan Scott
2004-04-29  8:27                       ` Christoph Hellwig
2004-04-27  6:10       ` Nick Piggin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=408DF968.70500@yahoo.com.au \
    --to=nickpiggin@yahoo.com.au \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sgoel01@yahoo.com \
    --cc=trond.myklebust@fys.uio.no \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox