[PATCH v2 0/4] Chunk Heap Support on DMA-HEAP

From: Minchan Kim
Date: Tue Dec 01 2020 - 12:52:31 EST


This patchset introduces a new dma heap, chunk heap that makes it
easy to perform the bulk allocation of high order pages.
It has been created to help optimize the 4K/8K HDR video playback
with secure DRM HW to protect contents on memory. The HW needs
physically contiguous memory chunks up to several hundred MB memory.

This patchset is against on next-20201130.

The patchset includes the following:
- cma_alloc_bulk API
- export dma-heap API to register kernel module dma heap.
- add chunk heap implementation.

* Since v1 -
https://lore.kernel.org/linux-mm/20201117181935.3613581-1-minchan@xxxxxxxxxx/

* introduce alloc_contig_mode - David
* use default CMA instead of device tree - John

Hyesoo Yu (2):
dma-buf: add export symbol for dma-heap
dma-buf: heaps: add chunk heap to dmabuf heaps

Minchan Kim (2):
mm: introduce alloc_contig_mode
mm: introduce cma_alloc_bulk API

drivers/dma-buf/dma-heap.c | 2 +
drivers/dma-buf/heaps/Kconfig | 15 +
drivers/dma-buf/heaps/Makefile | 1 +
drivers/dma-buf/heaps/chunk_heap.c | 429 +++++++++++++++++++++++++++++
drivers/virtio/virtio_mem.c | 2 +-
include/linux/cma.h | 5 +
include/linux/gfp.h | 10 +-
kernel/dma/contiguous.c | 1 +
mm/cma.c | 134 ++++++++-
mm/page_alloc.c | 25 +-
10 files changed, 607 insertions(+), 17 deletions(-)
create mode 100644 drivers/dma-buf/heaps/chunk_heap.c

--
2.29.2.454.gaff20da3a2-goog