[PATCH 0/2] Increasing CMA Utilization with a GFP Flag

From: Chris Goldsworthy
Date: Mon Nov 02 2020 - 09:40:42 EST


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