在linux内核中,free_irq会把系统置于危险之中吗?

时间:2017-12-21 02:35:44

标签: linux kernel driver irq

我认为答案是否定的,但对不起我是内核的新手,我想知道原因。

我检查了内核代码,我发现当线程irq将被释放时,它将调用kthread_stop(action-> thread);

难道风险不大吗?在linux驱动程序中,我们通常在下半部分执行HW操作,不应该停止。

我是否误解了kthread_stop的行为,或者只是可以停止irq线程?

1 个答案:

答案 0 :(得分:0)

我会自己回答这个问题。在它停止动作 - >线程之前,它将调用synchronize_irq(irq);这将等待直到没有hardirq处理程序正在运行且没有线程处理程序处于活动状态。