On Mon, Nov 02, 2020 at 06:39:20AM -0800, Chris Goldsworthy wrote: > The current approach to increasing CMA utilization introduced in > commit 16867664936e ("mm,page_alloc,cma: conditionally prefer cma > pageblocks for movable allocations") increases CMA utilization by > redirecting MIGRATE_MOVABLE allocations to a CMA region, when > greater than half of the free pages in a given zone are CMA pages. > The issue in this approach is that allocations with type > MIGRATE_MOVABLE can still succumb to pinning. To get around > this, one approach is to re-direct allocations to the CMA areas, that > are known not to be victims of pinning. > > To this end, this series brings in __GFP_CMA, which we mark with > allocations that we know are safe to be redirected to a CMA area. This feels backwards to me. What you're essentially saying is "Some allocations marked with GFP_MOVABLE turn out not to be movable, so we're going to add another GFP_REALLY_MOVABLE flag" instead of tracking down which GFP_MOVABLE allocations aren't really movable.