mm, hugetlb: don't require CMA for runtime gigantic pages
authorVlastimil Babka <[email protected]>
Fri, 5 Feb 2016 23:36:41 +0000 (15:36 -0800)
committerLinus Torvalds <[email protected]>
Sat, 6 Feb 2016 02:10:40 +0000 (18:10 -0800)
commit080fe2068e1c7f19f565b30b78baf78edf16a980
treed2af16ed6fe7040c1de9a658552753e1dfbdad64
parentb4330afbed0cdceeba33c4945158c55771047e81
mm, hugetlb: don't require CMA for runtime gigantic pages

Commit 944d9fec8d7a ("hugetlb: add support for gigantic page allocation
at runtime") has added the runtime gigantic page allocation via
alloc_contig_range(), making this support available only when CONFIG_CMA
is enabled.  Because it doesn't depend on MIGRATE_CMA pageblocks and the
associated infrastructure, it is possible with few simple adjustments to
require only CONFIG_MEMORY_ISOLATION instead of full CONFIG_CMA.

After this patch, alloc_contig_range() and related functions are
available and used for gigantic pages with just CONFIG_MEMORY_ISOLATION
enabled.  Note CONFIG_CMA selects CONFIG_MEMORY_ISOLATION.  This allows
supporting runtime gigantic pages without the CMA-specific checks in
page allocator fastpaths.

Signed-off-by: Vlastimil Babka <[email protected]>
Cc: Luiz Capitulino <[email protected]>
Cc: Kirill A. Shutemov <[email protected]>
Cc: Zhang Yanfei <[email protected]>
Cc: Yasuaki Ishimatsu <[email protected]>
Cc: Joonsoo Kim <[email protected]>
Cc: Naoya Horiguchi <[email protected]>
Cc: Mel Gorman <[email protected]>
Cc: Davidlohr Bueso <[email protected]>
Cc: Hillf Danton <[email protected]>
Cc: Mike Kravetz <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
arch/x86/mm/hugetlbpage.c
include/linux/gfp.h
mm/hugetlb.c
mm/page_alloc.c