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. Heesub Shin (1): cma: redirect page allocation to CMA Vinayak Menon (1): zram: allow zram to allocate CMA pages drivers/block/zram/zram_drv.c | 5 +-- include/linux/gfp.h | 15 ++++++++ include/linux/highmem.h | 4 ++- include/linux/mmzone.h | 4 +++ mm/page_alloc.c | 83 +++++++++++++++++++++++++++---------------- mm/zsmalloc.c | 4 +-- 6 files changed, 79 insertions(+), 36 deletions(-) -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project