在Linux中断后调用非中断函数

时间:2018-03-08 13:14:52

标签: linux-kernel interrupt-handling

我想在Linux机器上收到硬件中断后运行一段代码,但是,我发现我无法在中断上下文中运行我想要执行的功能。如果我有一个我想要从IRQ调用的函数,它会导致内核出现问题,因为代码很长并且需要和处理器一起睡觉。

所以我想做的是让我的内核模块接收一个中断并确认它,然后下一次机会让它运行一段代码,但不要在IRQ处理程序中这样做。

我找到了按需调用函数的“poll”方法,我认为这可能很有用,但我看到的例子是获取内核模块与外部用户空间代码交互的所有版本。我希望在我的中断处理程序中,我可以切换一些标志位以表示是时候执行我想要的功能,然后让我的内核模块在看到该标志设置时调用我想要的函数,但是没有把它作为一个中断本身。

这种事情有可能吗?或者如果没有,我怎样才能在不使用IRQ处理程序的情况下将函数链接到硬件中断?

0 个答案:

没有答案