kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
From: izhangxc@gmail.com (Wick)
To: kernelnewbies@lists.kernelnewbies.org
Subject: Question about page count
Date: Tue, 21 Jun 2011 09:46:54 +0800	[thread overview]
Message-ID: <BANLkTinQq-2M1yZsbDt4G5rmAN+MZ25cNQ@mail.gmail.com> (raw)
In-Reply-To: <BANLkTimjXCij_vf-vPgB26Gt93bMwD5zkg@mail.gmail.com>

On Mon, Jun 20, 2011 at 9:10 PM, Jui-Hao Chiang <windtracekimo@gmail.com> wrote:
> Hi,
>
> I am currently analyzing the memory pages footprint in 2.6.18.8 kernel (1GB ram,
> 32-bit, Flat model, no NUMA), and got a question. Does page_count(page)==0
> really means the page is free because the source code says so?
>
> If I just traverse mem_map for all memory descriptor, and count how many of them
> has page_count 0, then the number of free page will exceed the MemFree number
> reported from /proc/meminfo (actually from the zone list).
>
> After some investigation, I figure out that page->flags actually encode the zone
> information (DMA, NORMAL, HIGHMEM), and some of the page descriptors do not have
> correct zone number. But filtering them out doesn't help.
>
> In my case, HIGHMEM has 61 free pages reported by /proc/meminfo, but when I
> traverse the page descriptors array from (896MB - 1024MB), I count the
> pages with
> (1) flags stating its zone == ZONE_HIGHMEM
> (2) page_count(page)==0
> My result is 186 but not 61.

The problem is that we can't see the details of your caculation.

Sugguest you take a look at function nr_free_highpages in linux/mm/highmem.c.

>
> Could anyone help on explaining this?

-- 
Shenzhen, CN
twitter: @izhangxc

  reply	other threads:[~2011-06-21  1:46 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-20 13:10 Question about page count Jui-Hao Chiang
2011-06-21  1:46 ` Wick [this message]
2011-06-21  5:15 ` Mulyadi Santosa
2011-06-21 13:23   ` Dave Hylands
2011-06-21 16:34     ` Mulyadi Santosa
2011-06-21 14:25   ` Jui-Hao Chiang

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=BANLkTinQq-2M1yZsbDt4G5rmAN+MZ25cNQ@mail.gmail.com \
    --to=izhangxc@gmail.com \
    --cc=kernelnewbies@lists.kernelnewbies.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;
as well as URLs for NNTP newsgroup(s).