【发布时间】:2012-04-25 17:41:55
【问题描述】:
假设 CPU 修改了位置 x+50 的值,并且没有将其刷新回主存(回写)。
同时,设备从 x 向 x+100 发起 DMA 读取请求。
在这种情况下,如何通知 CPU 刷新脏缓存行?
【问题讨论】:
-
在“旧日”部分内存在操作系统设置 DMA 请求之前被标记为不可缓存。为什么您认为在您概述的情况下没有发生或不可能发生?
-
@gbulmer 你的意思是DMA请求只能处理不可缓存的内存区域?
标签: c linux memory memory-management cache-control