linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@osdl.org>
To: "Martin J. Bligh" <mbligh@mbligh.org>
Cc: pbadari@us.ibm.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: Memory pressure handling with iSCSI
Date: Tue, 26 Jul 2005 18:26:31 -0700	[thread overview]
Message-ID: <20050726182631.668e2da2.akpm@osdl.org> (raw)
In-Reply-To: <194200000.1122427210@flay>

"Martin J. Bligh" <mbligh@mbligh.org> wrote:
>
> 
> > It happens here, a bit.  My machine goes up to 60% dirty when it should be
> > clamping at 40%.
> > 
> > The variable `total_pages' in page-writeback.c (from
> > nr_free_pagecache_pages()) is too high.  I trace it back to here:
> > 
> > On node 0 totalpages: 1572864
> >   DMA zone: 4096 pages, LIFO batch:1
> >   Normal zone: 1568768 pages, LIFO batch:31
> >   HighMem zone: 0 pages, LIFO batch:1
> > 
> > This machine only has 4G of memory, so the platform code is overestimating
> > the number of pages by 50%.  Can you please check your dmesg, see if your
> > system is also getting this wrong?
> 
> I think we're repeatedly iterating over the same zones by walking the 
> zonelists:
> 
> static unsigned int nr_free_zone_pages(int offset)
> {
>         pg_data_t *pgdat;
>         unsigned int sum = 0;
>         int i;
> 
>         for_each_pgdat(pgdat) {
>                 struct zone *zone;
> 
>                 for (i = 0; i < MAX_NR_ZONES; i++) {
>                         unsigned long size, high;
> 
>                         zone = pgdat->node_zones[i];
>                         size = zone->present_pages;
>                         high = zone->pages_high;
> 
>                         if (size > high)
>                                 sum += size - high;
>                 }
>         }
> }

I don't think so.  We're getting the wrong answer out of
calculate_zone_totalpages() which is an init-time thing.

Maybe nr_free_zone_pages() is supposed to fix that up post-facto somehow,
but calculate_zone_totalpages() sure as heck shouldn't be putting 1568768
into my ZONE_NORMAL's ->node_present_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:[~2005-07-27  1:26 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-26 17:35 Badari Pulavarty
2005-07-26 18:04 ` Roland Dreier
2005-07-26 18:11 ` Andrew Morton
2005-07-26 18:39   ` Badari Pulavarty
2005-07-26 18:48     ` Andrew Morton
2005-07-26 19:12       ` Andrew Morton
2005-07-26 20:36         ` Badari Pulavarty
2005-07-26 21:11         ` Badari Pulavarty
2005-07-26 21:24           ` Andrew Morton
2005-07-26 21:45             ` Badari Pulavarty
2005-07-26 22:10               ` Andrew Morton
2005-07-26 22:48                 ` Badari Pulavarty
2005-07-26 23:07                   ` Andrew Morton
2005-07-26 23:26                     ` Badari Pulavarty
2005-07-27  0:31                       ` Andrew Morton
2005-07-27  1:20                         ` Martin J. Bligh
2005-07-27  1:26                           ` Andrew Morton [this message]
2005-07-27  1:47                             ` Martin J. Bligh
2005-07-27  1:31                         ` Badari Pulavarty
2005-07-27  1:40                           ` Andrew Morton
2005-07-26 19:31     ` Sonny Rao
2005-07-26 20:37       ` Badari Pulavarty
2005-07-26 21:21         ` Andrew Morton
2005-07-26 20:59 ` Rik van Riel
2005-07-26 21:05   ` Badari Pulavarty
2005-07-26 21:33     ` Martin J. Bligh
2005-07-26 22:05       ` Adam Litke
2005-07-26 21:12   ` Andrew Morton

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=20050726182631.668e2da2.akpm@osdl.org \
    --to=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mbligh@mbligh.org \
    --cc=pbadari@us.ibm.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