]> git.ipfire.org Git - thirdparty/util-linux.git/commit
irqtop: implement a new utility to display kernel interrupt
authorzhenwei pi <pizhenwei@bytedance.com>
Mon, 11 Nov 2019 12:48:59 +0000 (20:48 +0800)
committerSami Kerola <kerolasa@iki.fi>
Fri, 21 Feb 2020 21:09:13 +0000 (21:09 +0000)
commitae0dfe14124ab5b3bb999fd909dde5437c1c7335
tree510d367a34c4f713587119f5a99b66a3af0452c9
parente14bd7d31711f7a784c51e587a204403f6a1aa42
irqtop: implement a new utility to display kernel interrupt

currently, there are usually 40/48/64/96 CPUs on a single server,
and a lot of interrupts are enabled by multi-queues of a NIC.
"/proc/interrupts" is not human readable any more.
'watch -d -n 1 "cat /proc/interrupts"' also can not work well.

so implement irqtop to show the interrupts information, we can
sort the interrupts by count(default), name and /proc/interrupts.

irqtop - IRQ : 49, TOTAL : 2361705032, CPU : 8, ACTIVE CPU : 8
 IRQ        COUNT   DESC
 CAL        21196   Function call interrupts
 LOC        13733   Local timer interrupts
 154         1430   IR-PCI-MSI 32768-edge      i915
 127         1322   IR-PCI-MSI 327680-edge      xhci_hcd
 RES         1224   Rescheduling interrupts
 146          336   IR-PCI-MSI 520192-edge      enp0s31f6
 IWI          135   IRQ work interrupts
 147           48   IR-PCI-MSI 31981569-edge      nvme0q2
 151           42   IR-PCI-MSI 31981573-edge      nvme0q6
 TLB            8   TLB shootdowns
 150            7   IR-PCI-MSI 31981572-edge      nvme0q5
 152            5   IR-PCI-MSI 31981574-edge      nvme0q7
 156            4   IR-PCI-MSI 1572864-edge      iwlwifi
 148            3   IR-PCI-MSI 31981570-edge      nvme0q3
 153            2   IR-PCI-MSI 31981575-edge      nvme0q8
 NMI            2   Non-maskable interrupts
 PMI            2   Performance monitoring interrupts
   0            0   IR-IO-APIC    2-edge      timer
   1            0   IR-IO-APIC    1-edge      i8042
   8            0   IR-IO-APIC    8-edge      rtc0
   9            0   IR-IO-APIC    9-fasteoi   acpi
  12            0   IR-IO-APIC   12-edge      i8042

test on 4.14 & 4.19, work fine. test on bare metal & kvm virtual
machine, work fine. hot-plug/hot-unplug virtual NIC during running
irqtop, work fine.

Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
Makefile [new file with mode: 0644]
irqtop.c [new file with mode: 0644]