linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Lameter <clameter@sgi.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Ravikiran G Thirumalai <kiran@scalex86.org>,
	linux-mm@kvack.org, shai@scalex86.org
Subject: Re: [rfc] [patch] mm: zone_reclaim fix for pseudo file systems
Date: Mon, 30 Jul 2007 23:09:09 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.64.0707302300090.874@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <20070730225809.ed0a95ff.akpm@linux-foundation.org>

On Mon, 30 Jul 2007, Andrew Morton wrote:

> > That is if the whole zone is unreclaimable. The problems that we want to 
> > solve are due to parts of a zone being unreclaimable and due to the VM 
> > counters giving an inaccurate picture of the memory situation.
> 
> Where is the evidence that this is happening in Kiran's situation?

He used ramfs for some of this memory. As a result some memory became
unreclaimable but it was put on the LRU. Zone reclaim understood that
as reclaimable memory since unmapped file backed pages were on the LRU and 
scanned for them.

> > During that time we cannot allocate from a zone 
> > which typically makes a vital zone or a node unusuable.
> 
> Of course you can't - there are no free pages and none are reclaimable.

There may be free pages that we cannot get to because too many 
unreclaimable pages have to be scanned until we get there.

> > In a NUMA 
> > configuration performance degrades in unacceptable ways.
> 
> No it won't - you must be referring to something else, or speculating.

Sorry that occurs at SGI. Typically if a customers uses XPMEM to pin too 
many pages on a zone.

> > The all_reclaimable logic is different. It was never been designed to 
> > remove the unreclaimable pages.
> 
> Of course not.  But I don't know how you can be proposing solutions
> without yet knowing what the problem is.

We know the problem and have seen it repeatedly.
 
> The first thing Kiran should have done was to gather a kernel profile.  If
> we're spending a lot (proably half) of time in shrink_active_lsit() then
> yeah, that's a plausible theory.

Well that is what the traces show here in these scenarios. I have never
seen it in zone_reclaim (guess we do not use ramfs that warps the 
counters)
 
> And yes, keeping these pages off the LRU does make sense, and it heaps
> easier to handle than mlocked pages.

I think this is pretty straighforward.

> The _theory_ here is that a large number (but not all) of the pages
> in the zone are in ramfs and so page reclaim is making some progress,
> but reclaim efficiency is low, hence there is high CPU consumption.

No theory. The problem here is that the VM counters are off. RAMFS puts 
pages unmapped pages on the LRU that are not reclaimable and zone reclaim 
will continually run to get rid of these pages counting on the ability to 
throw out unmapped pages. 

What are these pages doing on the LRU if they cannot be reclaimed anyways? 
There is no point on putting them on it in the first place.

> OK, plausible.  But where's the *proof*?  We probably already have 
> sufficient statistics to be able to prove this.

Rik has shown this repeatedly. You want metaphysical certainty?

--
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:[~2007-07-31  6:09 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-27 23:27 Ravikiran G Thirumalai
2007-07-30 18:12 ` Christoph Lameter
2007-07-30 20:23 ` Andrew Morton
2007-07-30 20:31   ` Christoph Lameter
2007-07-30 21:12     ` Lee Schermerhorn
2007-07-31  0:01   ` Ravikiran G Thirumalai
2007-07-31  0:20     ` Andrew Morton
2007-07-31  0:27       ` Christoph Lameter
2007-07-31  1:06         ` Andrew Morton
2007-07-31  1:52           ` Christoph Lameter
2007-07-31  1:56         ` Ravikiran G Thirumalai
2007-07-31  2:01           ` Christoph Lameter
2007-07-31  2:27             ` Andrew Morton
2007-07-31  2:36               ` Christoph Lameter
2007-07-31  4:47                 ` Andrew Morton
2007-07-31  5:00                   ` Christoph Lameter
2007-07-31  5:17                     ` Andrew Morton
2007-07-31  5:33                       ` Christoph Lameter
2007-07-31  5:58                         ` Andrew Morton
2007-07-31  6:09                           ` Christoph Lameter [this message]
2007-07-31  6:18                             ` Andrew Morton
2007-07-31 19:35                               ` Christoph Lameter
2007-07-31 19:46                                 ` Andrew Morton
2007-07-31 19:50                                   ` Christoph Lameter
2007-07-31  8:27                           ` Ravikiran G Thirumalai
2007-07-31  8:35                             ` Andrew Morton
2007-07-31 19:30                               ` Christoph Lameter
2007-07-31 19:20                             ` Christoph Lameter
2007-07-31  7:15                     ` Ravikiran G Thirumalai
2007-07-31 19:18                       ` Christoph Lameter
2007-07-31  1:36       ` Ravikiran G Thirumalai
2007-07-31  1:53         ` Andrew Morton
2007-07-31  1:56           ` Christoph Lameter
2007-07-31  2:19 ` Christoph Lameter

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=Pine.LNX.4.64.0707302300090.874@schroedinger.engr.sgi.com \
    --to=clameter@sgi.com \
    --cc=akpm@linux-foundation.org \
    --cc=kiran@scalex86.org \
    --cc=linux-mm@kvack.org \
    --cc=shai@scalex86.org \
    /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