我认为答案是否定的,但对不起我是内核的新手,我想知道原因。
我检查了内核代码,我发现当线程irq将被释放时,它将调用kthread_stop(action-> thread);
这不是有点危险吗?在linux驱动程序中,我们通常在下半部分进行HW操作,不应该停止。
我是否误解了kthread_stop的行为,或者只是可以停止irq线程?
我会自己回答这个问题。在停止action-> thread之前,它会调用synchronize_irq(irq);这将等待直到没有运行hardirq处理程序且没有活动的线程处理程序。