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
next prev parent 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).