Linux中断处理用户空间

Linux中,在用户空间代码而不是内核空间中处理设备中断的选项有哪些?
最佳答案
经验告诉您可以为几乎任何PCI适配器编写稳定的用户空间驱动程序.在内核中只需要一些复杂性和一个小代理层. UIO是朝这个方向迈出的一步,但是如果要正确处理用户空间中断,那么UIO可能还不够,例如,如果设备不支持UIO所依赖的PCI-spec的中断禁止位.

请注意,进程唤醒延迟是几微秒,所以如果您的实现需要非常低的延迟,那么用户空间可能会拖动它.

如果我要实现一个用户空间驱动,那么我将把内核的ISR减少到一个“disable& ack&唤醒用户空间”操作,处理唤醒过程中的中断,然后重新启用中断(当然,通过写入从用户空间进程映射的PCI内存).

转载注明原文:Linux中断处理用户空间 - 代码日志