Since commit a5516438959d ("hugetlb: modular state for hugetlb page size"),
we can use huge_page_order to access hstate->order and pages_per_huge_page
to fetch the pages per huge page. But gather_bootmem_prealloc() forgot to
use it.

Signed-off-by: Miaohe Lin <linmia...@huawei.com>
---
 mm/hugetlb.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index fe2da9ad6233..c04d922757c7 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -2476,7 +2476,7 @@ static void __init gather_bootmem_prealloc(void)
                struct hstate *h = m->hstate;
 
                WARN_ON(page_count(page) != 1);
-               prep_compound_huge_page(page, h->order);
+               prep_compound_huge_page(page, huge_page_order(h));
                WARN_ON(PageReserved(page));
                prep_new_huge_page(h, page, page_to_nid(page));
                put_page(page); /* free it into the hugepage allocator */
@@ -2488,7 +2488,7 @@ static void __init gather_bootmem_prealloc(void)
                 * side-effects, like CommitLimit going negative.
                 */
                if (hstate_is_gigantic(h))
-                       adjust_managed_page_count(page, 1 << h->order);
+                       adjust_managed_page_count(page, pages_per_huge_page(h));
                cond_resched();
        }
 }
-- 
2.19.1

Reply via email to