在开启 Cache 的情况下,DMA 操作会引发哪些数据一致性问题?请说明原因及常用的解决方案。
考察说明
考察对 DMA 与 Cache 数据一致性问题的机理理解及解决手段
回答思路
- 能解释 DMA 与 Cache 数据不一致的根本原因
- 能区分 CPU 读缓存与 DMA 写内存、DMA 读内存与 CPU 写缓存的场景
- 能说明使用一致性 DMA 映射(如 dma_alloc_coherent)或显式 cache 维护操作(如 dma_map_single、dma_sync_single)的适用时机
- 能理解内核 DMA API 对缓存一致性处理的抽象
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。