Re: Question about page count

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 20, 2011 at 9:10 PM, Jui-Hao Chiang <windtracekimo@xxxxxxxxx> 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

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux