【问题标题】:In linux kernel, will free_irq put system in danger?在 linux 内核中,free_irq 会使系统处于危险之中吗?
【发布时间】:2018-06-03 16:02:10
【问题描述】:

我认为答案是否定的,但很抱歉我是内核新手,我想知道原因。

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

是不是有点冒险?在linux驱动中,我们通常在不应该停止的下半部分进行硬件操作。

是我误解了kthread_stop的行为,还是停止了irq线程就好了?

【问题讨论】:

    标签: linux kernel driver irq


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2011-11-25
      • 1970-01-01
      • 1970-01-01
      • 2019-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-17
      相关资源
      最近更新 更多