Skip to content

irqtop: implement a new utility to display kernel interrupt

zhenwei pi requested to merge pizhenwei/procps:feature-irqtop into master

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.

test on a server(64 CPUs): irqtop - IRQ : 255, TOTAL : 10974187710, CPU : 64, ACTIVE CPU : 64 IRQ COUNT DESC LOC 10947821 Local timer interrupts RES 6187947 Rescheduling interrupts 140 255023 IR-PCI-MSI 13631514-edge eth0-22 155 249601 IR-PCI-MSI 13631529-edge eth0-37 136 246948 IR-PCI-MSI 13631510-edge eth0-18 151 245660 IR-PCI-MSI 13631525-edge eth0-33 144 244544 IR-PCI-MSI 13631518-edge eth0-26 131 243085 IR-PCI-MSI 13631505-edge eth0-13 145 242664 IR-PCI-MSI 13631519-edge eth0-27 142 242278 IR-PCI-MSI 13631516-edge eth0-24 152 241792 IR-PCI-MSI 13631526-edge eth0-34 146 241604 IR-PCI-MSI 13631520-edge eth0-28 132 241360 IR-PCI-MSI 13631506-edge eth0-14 153 240926 IR-PCI-MSI 13631527-edge eth0-35 133 239955 IR-PCI-MSI 13631507-edge eth0-15 134 239492 IR-PCI-MSI 13631508-edge eth0-16 127 238813 IR-PCI-MSI 13631501-edge eth0-9 157 238386 IR-PCI-MSI 13631531-edge eth0-39 156 237112 IR-PCI-MSI 13631530-edge eth0-38 150 236713 IR-PCI-MSI 13631524-edge eth0-32 143 233857 IR-PCI-MSI 13631517-edge eth0-25 130 233698 IR-PCI-MSI 13631504-edge eth0-12

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

Merge request reports