[PATCH RFC/RFT 0/5] Save single pages from CMA area

Nicolin Chen
2019-03-26T22:50:20Z

This series of patches try to save single pages from CMA area bypassing
all CMA single page alloctions and allocating normal pages instead, as
all addresses within one single page are contiguous.

We had once applied the PATCH-5 but reverted it as actually not all the
callers handled the fallback allocations. Per Robin's suggestion, let's
stuff alloc_pages()/free_page() fallbacks to those callers before having
PATCH-5.

Nicolin Chen (5):
ARM: dma-mapping: Add fallback normal page allocations
dma-remap: Run alloc_pages() on failure
iommu: amd_iommu: Add fallback normal page allocations
arm64: dma-mapping: Add fallback normal page allocations
dma-contiguous: Do not allocate a single page from CMA area

arch/arm/mm/dma-mapping.c | 13 ++++++++++---
arch/arm64/mm/dma-mapping.c | 19 ++++++++++++-------
drivers/iommu/amd_iommu.c | 3 +++
kernel/dma/contiguous.c | 22 +++++++++++++++++++---
kernel/dma/remap.c | 2 +-
5 files changed, 45 insertions(+), 14 deletions(-)