【问题标题】:What is maximum number of IRQs supported by Linux kernel?Linux 内核支持的最大 IRQ 数是多少?
【发布时间】:2017-01-19 15:47:18
【问题描述】:

kernel version 4.9,我们将能够看到/sys/kernel/irq下每个中断的目录。

  1. /sys/kernel/irq 下最多可以看到多少个目录?
  2. 对于特定系统,/sys/kernel/irq 下的目录数是否保持不变? (我观察到每个系统都是恒定的,但我不确定)
  3. 对于每个 IRQ,/sys/kernel/irq/*/name 文件将保存常量名称 例如对于 IRQ 7,我们将有目录 /sys/kernel/irq/7/ 现在/sys/kernel/irq/7/name 将永远保持该系统的恒定值?
  4. actions, chip_name, per_cpu_count, type等同目录下的其他文件呢?

【问题讨论】:

  • 这是针对特定架构(x86_64、ARM 等)的吗?还是您在寻找绝对最大值?
  • 1.架构/平台支持的数量。我听说过 4096。
  • 2.不,你不能完全依赖它。想象一下,当您有两个驱动程序用于同一设备时。您移除一个模块并插入另一个模块。一般来说,他们可能有不同的规则来创建该名称。

标签: linux linux-kernel linux-device-driver interrupt interrupt-handling


【解决方案1】:
  1. 此数字会因硬件架构而异。
  2. 如果有人添加了将注册新 IRQ 的新模块,或者有人删除了已注册 IRQ 的模块,则此编号将发生变化。
  3. 如果有人删除正在使用此 IRQ 的模块并注册另一个具有相同 IRQ 的模块,则会发生变化。
  4. 只有per_cpu_count 的值会根据中断触发的次数而增加。

【讨论】:

    猜你喜欢
    • 2011-04-04
    • 2015-03-09
    • 1970-01-01
    • 2013-04-13
    • 1970-01-01
    • 2011-03-16
    • 2021-10-10
    • 2014-11-16
    • 1970-01-01
    相关资源
    最近更新 更多