Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ece84b39 authored by Kirill A. Shutemov's avatar Kirill A. Shutemov Committed by Linus Torvalds
Browse files

hugetlb, x86: register 1G page size if we can allocate them at runtime



After commit 944d9fec ("hugetlb: add support for gigantic page
allocation at runtime") we can allocate 1G pages at runtime if CMA is
enabled.

Let's register 1G pages into hugetlb even if the user hasn't requested
them explicitly at boot time with hugepagesz=1G.

Signed-off-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Reviewed-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 3e8c04eb
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -178,4 +178,15 @@ static __init int setup_hugepagesz(char *opt)
	return 1;
}
__setup("hugepagesz=", setup_hugepagesz);

#ifdef CONFIG_CMA
static __init int gigantic_pages_init(void)
{
	/* With CMA we can allocate gigantic pages at runtime */
	if (cpu_has_gbpages && !size_to_hstate(1UL << PUD_SHIFT))
		hugetlb_add_hstate(PUD_SHIFT - PAGE_SHIFT);
	return 0;
}
arch_initcall(gigantic_pages_init);
#endif
#endif