On Wed, Feb 03, 2016 at 06:50:11PM +0100, Vlastimil Babka wrote:
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.
You need to set CONFIG_COMPACTION or CONFIG_CMA to use
isolate_migratepages_range() and others in alloc_contig_range().
Thanks.