在linux中断的上下文中运行用户线程

age*_*ith 2 c linux kernel linux-device-driver linux-kernel

我正在编写一些自定义应用程序,并允许在linux内核中更改中断处理程序代码.

我有一个等待中断发生的用户线程.如果发生中断,那么我想要做的第一件事就是执行该用户线程.

有没有办法让它发挥作用.

谢谢

n. *_* m. 6

创建一个角色设备(这就是内核所做的,处理设备).让用户线程从该设备读取.它会挂起,因为没有要读取的字符.

发生中断时,从模块向该设备输出一个字符(或一些有意义的消息).线程将唤醒,阅读消息并继续.

给处理程序线程一些很好的优先级,以便它提前唤醒.

或者,您可能只是让线程等待selectsleep发送信号(内核函数kill_proc_info),线程将被唤醒.确保线程处理信号.