Linux DMA 与缓存一致性

Linux DMA 与缓存一致性

难度:深度。本文为中文技术整理,保留来源中的技术边界;示例只用于阅读,未在本服务器执行。

DMA 涉及设备地址、CPU cache、IOMMU 和 ownership 转移。streaming 与 coherent DMA 语义不同,普通虚拟地址不能直接当设备地址。

示例

dma_addr_t dma = dma_map_single(dev, buf, size, DMA_TO_DEVICE);
if (dma_mapping_error(dev, dma)) return -EIO;

来源

  • https://docs.kernel.org/core-api/dma-api-howto.html

Linux DMA 与缓存一致性
https://blog.529808.xyz//archives/tech-c91888e8be44
作者
念头通达
发布于
2026年10月01日
更新于
2026年10月01日
许可协议