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

问题描述 投票:0回答:1

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

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

这不是有点危险吗?在linux驱动程序中,我们通常在下半部分进行HW操作,不应该停止。

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

linux kernel driver irq
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.