linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Ravikiran G Thirumalai <kiran@scalex86.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-mm@kvack.org, Christoph Lameter <clameter@engr.sgi.com>,
	shai@scalex86.org
Subject: Re: [rfc] [patch] mm: zone_reclaim fix for pseudo file systems
Date: Mon, 30 Jul 2007 17:01:38 -0700	[thread overview]
Message-ID: <20070731000138.GA32468@localdomain> (raw)
In-Reply-To: <20070730132314.f6c8b4e1.akpm@linux-foundation.org>

On Mon, Jul 30, 2007 at 01:23:14PM -0700, Andrew Morton wrote:
>On Fri, 27 Jul 2007 16:27:53 -0700
>Ravikiran G Thirumalai <kiran@scalex86.org> wrote:
>
>> Don't go into zone_reclaim if there are no reclaimable pages.
>> 
>> While using RAMFS as scratch space for some tests, we found one of the
>> processes got into zone reclaim, and got stuck trying to reclaim pages
>> from a zone.
>
>Would like to see an expanded definition of "stuck", please ;)

Well, we were running a multiprocess finite element analysis HPC benchmark,
and one of the processes went into 'system' and the benchmark never completed.
Of course this happens only when we use ramfs for scratch IO.  What I mean
is, on invoking 'top', we could see that one of the process was spending
all its time in system - 100% system, for a compute benchmark which should
not be spending any time in the system at all.

>
>ie: let's see the bug report before we see the fix?
>
>>  On examination of the code, we found that the VM was fooled
>> into believing that the zone had reclaimable pages, when it actually had
>> RAMFS backed pages, which could not be written back to the disk.
>> 
>> Fix this by adding a zvc "NR_PSEUDO_FS_PAGES" for file pages with no
>> backing store, and using this counter to determine if reclaim is possible.
>> 
>> Patch tested,on 2.6.22.  Fixes the above mentioned problem.
>
>The (cheesy) way in which reclaim currently handles this sort of thing is
>to scan like mad, then to eventually set zone->all_unreclaimable.  Once
>that has been set, the kernel will reduce the amount of scanning effort it
>puts into that zone by a very large amount.  If the zone later comes back
>to life, all_unreclaimable gets cleared and things proceed as normal.

I see.  But this obviously does not work in this case.  I have noticed the
process getting into 'system' and staying there for hours.  I have never
noticed the app complete.  Perhaps because I did not wait long enough.
So do you think a more aggressive auto setting/unsetting of 'all_unreclaimable'
is a better approach?

> ...
>It is a numa-specific change which adds overhead to non-NUMA builds :(

I can (and will) place it with other NUMA specific counters, so the non-NUMA
builds will not have any overhead.

--
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>

  parent reply	other threads:[~2007-07-31  0:01 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 [this message]
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
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=20070731000138.GA32468@localdomain \
    --to=kiran@scalex86.org \
    --cc=akpm@linux-foundation.org \
    --cc=clameter@engr.sgi.com \
    --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