UIO驱动程序 - 切换到内核中断

时间:2015-05-06 05:59:55

标签: linux multithreading linux-kernel interrupt interrupt-handling

我正在浏览用户空间输入输出驱动程序,这消除了由于驱动程序代码的不正常运行导致内核崩溃的缺点。

如果内核已经调度了process1,并且如果process1已经在CPU中运行,则在活动进程1运行期间,如果来自其他设备的进程2请求服务,则运行进程2的优先级变得很高[通过生成中断]

同样,在用户空间驱动程序中,中断处理程序驻留在用户模式中,并且在内核模式下检测和调用中断。 在设备插入期间处理中断后,可能会有多个中断来自同一设备[插入除外]。猜测对设备的读/写可能会导致再次处理中断。 但根据我对代码的理解,系统调用的read()将来自用户模式ISR驱动程序[本例中为CIF驱动程序],用户模式中断处理程序将由uio_read()[in]置于等待队列中。 uio.c]直到发生内核中断。 我可以看一下内核中断uio_interrupt()仅在通过uio_register_device()调用的设备初始化期间发生。

如何再次为同一个CIF设备发生内核中断,以便它唤醒休眠中断处理程序并处理中断?

0 个答案:

没有答案