/proc/interrupts 中的这一列是什么?

/proc/interrupts 中的这一列是什么?

有人可以帮我分析我的文件中输出的数据吗/proc/interrupts

$ cat /proc/interrupts
           CPU0       CPU1
  0:         22          0  IR-IO-APIC   2-edge      timer
  1:          2          0  IR-IO-APIC   1-edge      i8042
  8:          1          0  IR-IO-APIC   8-edge      rtc0
  9:          0          0  IR-IO-APIC   9-fasteoi   acpi
 12:          4          0  IR-IO-APIC  12-edge      i8042
120:          0          0  DMAR-MSI   0-edge      dmar0
122:          0          0  IR-PCI-MSI 327680-edge      xhci_hcd
123:      25164    5760490  IR-PCI-MSI 1048576-edge      enp2s0
124:         17    5424414  IR-PCI-MSI 524288-edge      amdgpu

到目前为止我已经编译了...

  • 第 1 列:IRQ 编号
  • 第 2 列和第 3 列:每个 CPU 的中断数(列数取决于系统有多少个 CPU)
  • 第 4 列:中断类型
  • 第 5 列:???
  • 第 6 列:设备名称

我感兴趣的是找出第 5 列包含什么数据,即524288-edge,以及是否有人可以分解该数字代表什么。通过在线研究,我只看到中断类型列后跟设备名称,此列数据始终缺失。这仅仅是有关中断类型的更多信息吗?

答案1

我仍在探索这个区域。

这指向“边缘”,意味着中断类型是“边缘下降”中断: https://www.raspberrypi.org/forums/viewtopic.php?t=20931

看看我的,我有“18 个边缘”,并且与 GPIO-18 相关,我预计中断会在我的情况下出现:

       CPU0      CPU1   CPU2  CPU3
172:   1387      0      0     0     pinctrl-bcm2835  18 Edge      lirc_rpi

答案2

\/  ... linux global irq number
            \/  ...   number of occured irqs on CPU 0
                        \/  ...    number of occured irqs on CPU 1
                              \/  ...  irq chip receiving the irq
                                         \/ ... hw irq number and type of irq
                                                          \/  ... assigned action of irq 
                                                                  (-> irq handler inside a driver, can also be assigned to more then just one handler / driver) 

cat /proc/interrupts
           CPU0       CPU1
  0:         22          0  IR-IO-APIC   2-edge            timer
  1:          2          0  IR-IO-APIC   1-edge            i8042
  8:          1          0  IR-IO-APIC   8-edge            rtc0
  9:          0          0  IR-IO-APIC   9-fasteoi         acpi
 12:          4          0  IR-IO-APIC   12-edge           i8042
120:          0          0  DMAR-MSI     0-edge            dmar0
122:          0          0  IR-PCI-MSI   327680-edge       xhci_hcd
123:      25164    5760490  IR-PCI-MSI   1048576-edge      enp2s0
124:         17    5424414  IR-PCI-MSI   524288-edge       amdgpu

/sys/kernel/irq/<每个 irq 的数量>/<信息文件>中也包含相同的信息,但更适合机器阅读。

如果内核使用 CONFIG_IRQ_DOMAIN_DEBUG=y 进行编译,则可以检索更多 irq 信息

这里对 Linux IRQ 进行了很好的介绍: https://www.youtube.com/watch?v=LOCsN3V1ECE

相关内容