【发布时间】:2019-08-26 20:02:21
【问题描述】:
我有一个 Linux 设备驱动程序,它允许用户空间进程 mmap() 设备的 MMIO 空间的某些区域进行写入。设备可能会在某个时候决定撤销对该区域的访问,并在发生这种情况时通知驱动程序。驱动程序(异步)通知用户空间进程停止使用该区域。
我希望驱动程序立即删除此映射的 PTE,以便将它们返回到设备控制,但是,用户空间进程可能仍在完成写入。我想简单地丢弃这些写入。用户不需要知道哪些写入已写入设备以及哪些写入已被丢弃。在 zapping 可以无害地丢弃对该区域的写入的 PTE 之后,驱动程序的故障处理程序可以做什么?
【问题讨论】:
标签: linux-kernel linux-device-driver mmap