我有一个有关通过mmap从用户空间访问物理内存的缓存问题的问题 在我的测试驱动程序中确实存在:
- 使用kmalloc分配了一些页面。
- 使用mmap(user)和remap_pfn_range(driver)将页面映射到用户空间
- dma_map_将设备要通过DMA访问的那一页页面
- 执行从设备到内存的DMA写操作
- 从用户空间读取
所以我的问题是: 确保用户读取一致的数据(通过DMA更新内存中的数据)而不是CPU缓存,该怎么做??
我有一个有关通过mmap从用户空间访问物理内存的缓存问题的问题 在我的测试驱动程序中确实存在:
所以我的问题是: 确保用户读取一致的数据(通过DMA更新内存中的数据)而不是CPU缓存,该怎么做??