Re: [PATCH] hugetlb: /proc/meminfo shows data for all sizes ofhugepages

From: Eric B Munson
Date: Mon Mar 07 2011 - 15:13:22 EST


On Mon, 07 Mar 2011, Dave Hansen wrote:

> On Mon, 2011-03-07 at 14:05 +0100, Petr Holasek wrote:
> > + for_each_hstate(h)
> > + seq_printf(m,
> > + "HugePages_Total: %5lu\n"
> > + "HugePages_Free: %5lu\n"
> > + "HugePages_Rsvd: %5lu\n"
> > + "HugePages_Surp: %5lu\n"
> > + "Hugepagesize: %8lu kB\n",
> > + h->nr_huge_pages,
> > + h->free_huge_pages,
> > + h->resv_huge_pages,
> > + h->surplus_huge_pages,
> > + 1UL << (huge_page_order(h) + PAGE_SHIFT - 10));
> > }
>
> It sounds like now we'll get a meminfo that looks like:
>
> ...
> AnonHugePages: 491520 kB
> HugePages_Total: 5
> HugePages_Free: 2
> HugePages_Rsvd: 3
> HugePages_Surp: 1
> Hugepagesize: 2048 kB
> HugePages_Total: 2
> HugePages_Free: 1
> HugePages_Rsvd: 1
> HugePages_Surp: 1
> Hugepagesize: 1048576 kB
> DirectMap4k: 12160 kB
> DirectMap2M: 2082816 kB
> DirectMap1G: 2097152 kB
>
> At best, that's a bit confusing. There aren't any other entries in
> meminfo that occur more than once. Plus, this information is available
> in the sysfs interface. Why isn't that sufficient?
>
> Could we do something where we keep the default hpage_size looking like
> it does now, but append the size explicitly for the new entries?
>
> HugePages_Total(1G): 2
> HugePages_Free(1G): 1
> HugePages_Rsvd(1G): 1
> HugePages_Surp(1G): 1
>
> -- Dave

I second that, this will help minimize the change to userspace tools that currently read
meminfo for huge page information.

Eric

Attachment: signature.asc
Description: Digital signature