【问题标题】:Shared IRQs in LinuxLinux 中的共享 IRQ
【发布时间】:2013-10-22 18:00:32
【问题描述】:

当多个注册的中断服务程序共享一条 IRQ 线时,什么决定了中断线被引发时 ISR 的执行顺序?

【问题讨论】:

    标签: linux kernel interrupt irq isr


    【解决方案1】:

    无论如何,顺序是不可预测的,因为正如您所说,中断线是共享的。因此,系统中有(或可能有)其他设备驱动程序在与您的 ISR 共享的同一中断线上注册 ISR。所以你不能假设调用 ISR 的顺序!

    现在,当产生中断行时,内核会逐一调用为该行注册的所有 ISR,直到某个 ISR 返回“CLAIMED”。

    ISR 获得一个表示设备的软上下文,并由 ISR 检查 设备是否是中断源。如果是,则 ISR 返回 CLAIMED,否则返回 NOT CLAIMED。

    【讨论】:

      猜你喜欢
      • 2012-02-07
      • 1970-01-01
      • 2019-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多