aboutsummaryrefslogtreecommitdiffstats
path: root/mm/hugetlb.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/hugetlb.c')
-rw-r--r--mm/hugetlb.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 243a8684d180..0c74c14dd2f7 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -1006,15 +1006,27 @@ static void __init hugetlb_init_hstates(void)
1006 } 1006 }
1007} 1007}
1008 1008
1009static char * __init memfmt(char *buf, unsigned long n)
1010{
1011 if (n >= (1UL << 30))
1012 sprintf(buf, "%lu GB", n >> 30);
1013 else if (n >= (1UL << 20))
1014 sprintf(buf, "%lu MB", n >> 20);
1015 else
1016 sprintf(buf, "%lu KB", n >> 10);
1017 return buf;
1018}
1019
1009static void __init report_hugepages(void) 1020static void __init report_hugepages(void)
1010{ 1021{
1011 struct hstate *h; 1022 struct hstate *h;
1012 1023
1013 for_each_hstate(h) { 1024 for_each_hstate(h) {
1014 printk(KERN_INFO "Total HugeTLB memory allocated, " 1025 char buf[32];
1015 "%ld %dMB pages\n", 1026 printk(KERN_INFO "HugeTLB registered %s page size, "
1016 h->free_huge_pages, 1027 "pre-allocated %ld pages\n",
1017 1 << (h->order + PAGE_SHIFT - 20)); 1028 memfmt(buf, huge_page_size(h)),
1029 h->free_huge_pages);
1018 } 1030 }
1019} 1031}
1020 1032