Why are IRQs unbalanced in my multi core, single socket system?
Issue
-
Why are most IRQs being handled by the same logical core?
-
Why aren't IRQs balanced across all available logical cores?
$ cat proc/interrupts
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
0: 1595 0 0 0 0 0 0 0 IR-IO-APIC-edge timer
1: 0 0 0 0 0 0 0 0 IR-IO-APIC-edge i8042
3: 13 0 0 0 0 0 0 0 IR-IO-APIC-edge serial
8: 1 0 0 0 0 0 0 0 IR-IO-APIC-edge rtc0
9: 0 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi acpi
16: 47 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi ehci_hcd:usb1
20: 21 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb4, uhci_hcd:usb5
21: 0 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi uhci_hcd:usb6
22: 47 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi uhci_hcd:usb3
24: 361539686 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi pcimb
28: 1116097 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi ioc0
[...]
59: 34352672 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth0-0
60: 17403522 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth0-1
61: 1597432 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth0-2
62: 1986633 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth0-3
63: 961736 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth0-4
64: 6501632 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth0-5
65: 196452 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth0-6
66: 2201116 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth0-7
68: 1384520 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth1-0
69: 758 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth1-1
70: 1067 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth1-2
71: 850969 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth1-3
72: 24995 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth1-4
73: 183622 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth1-5
74: 654621 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth1-6
75: 6751 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth1-7
[...]
Environment
- Red Hat Enterprise Linux.
- Multi core, single socket system (or multi socket system with one socket populated only).
- Shared cache across all cores in the socket (single cache domain).
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
