Re: [PATCH] mm, hugetlb: don't require CMA for runtime gigantic pages

From: Joonsoo Kim
Date: Thu Feb 04 2016 - 01:02:30 EST


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.