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