hugetlb: printk cleanup
[pandora-kernel.git] / mm / hugetlb.c
index 243a868..0c74c14 100644 (file)
@@ -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);
        }
 }