linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: kosaki.motohiro@jp.fujitsu.com, nickpiggin@yahoo.com.au,
	linux-mm@kvack.org
Cc: Rik van Riel <riel@redhat.com>,
	Lee Schermerhorn <lee.schermerhorn@hp.com>
Subject: Re: vmscan-give-referenced-active-and-unmapped-pages-a-second-trip-around-the-lru.patch
Date: Fri, 10 Oct 2008 15:25:40 -0700	[thread overview]
Message-ID: <20081010152540.79ed64cb.akpm@linux-foundation.org> (raw)
In-Reply-To: <20081010151701.e9e50bdb.akpm@linux-foundation.org>

On Fri, 10 Oct 2008 15:17:01 -0700
Andrew Morton <akpm@linux-foundation.org> wrote:

> On Wed,  8 Oct 2008 19:03:07 +0900 (JST)
> KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote:
> 
> > Hi
> > 
> > Nick, Andrew, very thanks for good advice.
> > your helpful increase my investigate speed.
> > 
> > 
> > > This patch, like I said when it was first merged, has the problem that
> > > it can cause large stalls when reclaiming pages.
> > > 
> > > I actually myself tried a similar thing a long time ago. The problem is
> > > that after a long period of no reclaiming, your file pages can all end
> > > up being active and referenced. When the first guy wants to reclaim a
> > > page, it might have to scan through gigabytes of file pages before being
> > > able to reclaim a single one.
> > 
> > I perfectly agree this opinion.
> > all pages stay on active list is awful.
> > 
> > In addition, my mesurement tell me this patch cause latency degression on really heavy io workload.
> > 
> > 2.6.27-rc8: Throughput 13.4231 MB/sec  4000 clients  4000 procs  max_latency=1421988.159 ms
> >  + patch  : Throughput 12.0953 MB/sec  4000 clients  4000 procs  max_latency=1731244.847 ms
> > 
> > 
> > > While it would be really nice to be able to just lazily set PageReferenced
> > > and nothing else in mark_page_accessed, and then do file page aging based
> > > on the referenced bit, the fact is that we virtually have O(1) reclaim
> > > for file pages now, and this can make it much more like O(n) (in worst case,
> > > especially).
> > > 
> > > I don't think it is right to say "we broke aging and this patch fixes it".
> > > It's all a big crazy heuristic. Who's to say that the previous behaviour
> > > wasn't better and this patch breaks it? :)
> > > 
> > > Anyway, I don't think it is exactly productive to keep patches like this in
> > > the tree (that doesn't seem ever intended to be merged) while there are
> > > other big changes to reclaim there.
> 
> Well yes.  I've been hanging onto these in the hope that someone would
> work out whether they are changes which we should make.
> 
> 
> > > Same for vm-dont-run-touch_buffer-during-buffercache-lookups.patch
> > 
> > I mesured it too,
> > 
> > 2.6.27-rc8: Throughput 13.4231 MB/sec  4000 clients  4000 procs  max_latency=1421988.159 ms
> >  + patch  : Throughput 11.8494 MB/sec  4000 clients  4000 procs  max_latency=3463217.227 ms
> > 
> > dbench latency increased about x2.5
> > 
> > So, the patch desctiption already descibe this risk. 
> > metadata dropping can decrease performance largely.
> > that just appeared, imho.
> 
> Oh well, that'll suffice, thanks - I'll drop them.

Which means that after vmscan-split-lru-lists-into-anon-file-sets.patch,
shrink_active_list() simply does

	while (!list_empty(&l_hold)) {
		cond_resched();
		page = lru_to_page(&l_hold);
		list_add(&page->lru, &l_inactive);
	}

yes?

We might even be able to list_splice those pages..

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2008-10-10 22:25 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-08  5:55 vmscan-give-referenced-active-and-unmapped-pages-a-second-trip-around-the-lru.patch Nick Piggin
2008-10-08 10:03 ` vmscan-give-referenced-active-and-unmapped-pages-a-second-trip-around-the-lru.patch KOSAKI Motohiro
2008-10-10 22:17   ` vmscan-give-referenced-active-and-unmapped-pages-a-second-trip-around-the-lru.patch Andrew Morton
2008-10-10 22:25     ` Andrew Morton [this message]
2008-10-10 22:33       ` vmscan-give-referenced-active-and-unmapped-pages-a-second-trip-around-the-lru.patch Andrew Morton
2008-10-10 23:59         ` vmscan-give-referenced-active-and-unmapped-pages-a-second-trip-around-the-lru.patch Rik van Riel
2008-10-11  1:42           ` vmscan-give-referenced-active-and-unmapped-pages-a-second-trip-around-the-lru.patch Andrew Morton
2008-10-11  1:53             ` vmscan-give-referenced-active-and-unmapped-pages-a-second-trip-around-the-lru.patch Rik van Riel
2008-10-11  2:21               ` vmscan-give-referenced-active-and-unmapped-pages-a-second-trip-around-the-lru.patch Andrew Morton
2008-10-11 20:46                 ` vmscan-give-referenced-active-and-unmapped-pages-a-second-trip-around-the-lru.patch Rik van Riel
2008-10-12 13:31                   ` vmscan-give-referenced-active-and-unmapped-pages-a-second-trip-around-the-lru.patch KOSAKI Motohiro
2008-10-10 23:56       ` vmscan-give-referenced-active-and-unmapped-pages-a-second-trip-around-the-lru.patch Rik van Riel

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=20081010152540.79ed64cb.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=lee.schermerhorn@hp.com \
    --cc=linux-mm@kvack.org \
    --cc=nickpiggin@yahoo.com.au \
    --cc=riel@redhat.com \
    /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