使用堆分配 dma-buf

Dma-buf 堆是用户空间分配 dma-buf 对象的一种方式。它们通常用于从特定的分配池中分配缓冲区,或者在框架之间共享缓冲区。

堆表示一个特定的分配器。Linux 内核目前支持以下堆

  • system 堆分配虚拟连续的、可缓存的缓冲区。

  • cma 堆分配物理连续的、可缓存的缓冲区。仅当存在 CMA 区域时才存在。这样的区域通常通过内核命令行上的 cma 参数、具有 linux,cma-default 属性的内存区域设备树节点,或通过 CMA_SIZE_MBYTESCMA_SIZE_PERCENTAGE Kconfig 选项创建。根据平台的不同,它可能被称为 reservedlinux,cmadefault-pool