All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ethan Solomita <solo@google.com>
To: Christoph Lameter <clameter@sgi.com>
Cc: linux-mm@kvack.org
Subject: Re: meminfo returns inaccurate NR_FILE_PAGES
Date: Tue, 17 Apr 2007 22:31:40 -0700	[thread overview]
Message-ID: <4625AD3C.8010709@google.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0704172157470.3003@schroedinger.engr.sgi.com>

Christoph Lameter wrote:
>> It's just the NR_FILE_PAGES which are tied to the mapping's page tree, where
>> the problem lies.
>>     
>
> Ah. I see.
>
> However, anonymous pages may also have a mapping (swap). So we need to 
> check first that it is not an anonymous page and then eventually shift 
> the count between zones.
>   

    Anonymous pages have a value in mapping, but it's not a struct 
address_space, it's a struct vm_area_struct (+1). The NR_FILE_PAGES 
count is incremented and decremented only when something is added to or 
removed from an address_space's page_table as pointed to by a mapping. 
This is only done in filemap.c, except for this one example in migrate.c 
that changes the radix table's page pointer in place. I think that all 
that is needed is an extra set of lines in migrate_page_move_mapping() 
after modifying *radix_pointer to call __dec on the old page and __inc 
on the new. You can check the zones first if you'd like to save effort, 
although I'm not sure it's a big deal since the __dec and __inc 
functions are only modifying per-cpu accumulation variables.
    -- Ethan

--
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-04-18  5:31 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-17 23:12 meminfo returns inaccurate NR_FILE_PAGES Ethan Solomita
2007-04-17 23:56 ` Christoph Lameter
2007-04-18  4:06   ` Ethan Solomita
2007-04-18  5:12     ` Christoph Lameter
2007-04-18  5:31       ` Ethan Solomita [this message]
2007-04-18  5:39         ` Christoph Lameter
2007-04-18  6:13           ` Ethan Solomita
2007-04-18 19:36             ` Christoph Lameter
2007-04-18 19:39               ` Ethan Solomita
2007-04-18 21:02                 ` Christoph Lameter
2007-04-18  4:49   ` Ethan Solomita

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=4625AD3C.8010709@google.com \
    --to=solo@google.com \
    --cc=clameter@sgi.com \
    --cc=linux-mm@kvack.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.