From 06e3d340a96295eea403172e7fd57a713e8379ee Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Wed, 23 Jul 2008 21:27:49 -0700 Subject: [PATCH] --- yaml --- r: 105309 b: refs/heads/master c: 4abd32dbab201c3ced0b0af12accea77cd9eeffc h: refs/heads/master i: 105307: fd01ac1e36aecd1e6be342adc52ecb87c26caee4 v: v3 --- [refs] | 2 +- trunk/mm/hugetlb.c | 20 ++++++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 571b3f705c11..a18cb3c9458e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8faa8b077b2cdc4e4646842fe50b07840955a013 +refs/heads/master: 4abd32dbab201c3ced0b0af12accea77cd9eeffc diff --git a/trunk/mm/hugetlb.c b/trunk/mm/hugetlb.c index 243a8684d180..0c74c14dd2f7 100644 --- a/trunk/mm/hugetlb.c +++ b/trunk/mm/hugetlb.c @@ -1006,15 +1006,27 @@ static void __init hugetlb_init_hstates(void) } } +static char * __init memfmt(char *buf, unsigned long n) +{ + if (n >= (1UL << 30)) + sprintf(buf, "%lu GB", n >> 30); + else if (n >= (1UL << 20)) + sprintf(buf, "%lu MB", n >> 20); + else + sprintf(buf, "%lu KB", n >> 10); + return buf; +} + static void __init report_hugepages(void) { struct hstate *h; for_each_hstate(h) { - printk(KERN_INFO "Total HugeTLB memory allocated, " - "%ld %dMB pages\n", - h->free_huge_pages, - 1 << (h->order + PAGE_SHIFT - 20)); + char buf[32]; + printk(KERN_INFO "HugeTLB registered %s page size, " + "pre-allocated %ld pages\n", + memfmt(buf, huge_page_size(h)), + h->free_huge_pages); } }