irqbalance 1.1.0 not distributing IRQs on ARM
Timo Sigurdsson
public_timo.s at silentcreek.de
Mon Mar 7 14:27:45 PST 2016
Hi,
I was trying to use irqbalance on an ARMv7 based SoC (Allwinner A20). I hoped version 1.1.0 would work after seeing the commit "irqbalance: Add checks for arm support" on git [1]. I used a Debian 8 Jessie rootfs for testing, together with the latest stable kernel 4.4.4. Since the Debian repository would hold an outdated version of irqbalance, I backported the latest version from the "unstable" tree (1.1.0-2, see changelog [2]) to Debian 8. Irqbalance is running but interrupts are not beeing distributed over the two CPU cores. When that didn't work, I even tried to compile irqbalance from the latest git sources (borrowing the init script from Debian). But the result isn't any different. Is this to be expected or should irqbalance just work on ARMv7 as well? Does irqbalance depend on certain kernel configuration options?
I attached some debugging info. I don't know if it's normal that irqbalance --debug keeps rescanning over and over again. But on my test board it did, so at some point I just stopped it with Ctrl+C.
If there's any other information, you might need, please let me know.
Kind regards,
Timo
[1] https://github.com/Irqbalance/irqbalance/commit/05d1ae4f9023ab4b6eea8b1734a534cf3f72d86b
[2] http://metadata.ftp-master.debian.org/changelogs/main/i/irqbalance/irqbalance_1.1.0-2_changelog
-------------- next part --------------
ii irqbalance 1.1.0-2~bpo80+1 armhf Daemon to balance interrupts for SMP systems
-------------- next part --------------
This machine seems not NUMA capable.
Isolated CPUs: 00000001
Adaptive-ticks CPUs: 00000000
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
NUMA NODE NUMBER: -1
LOCAL CPU MASK: ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,f
fffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff
-----------------------------------------------------------------------------
Rescanning cpu topology
Isolated CPUs: 00000001
Adaptive-ticks CPUs: 00000000
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
-----------------------------------------------------------------------------
Rescanning cpu topology
Isolated CPUs: 00000001
Adaptive-ticks CPUs: 00000000
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
-----------------------------------------------------------------------------
Rescanning cpu topology
Isolated CPUs: 00000001
Adaptive-ticks CPUs: 00000000
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
-----------------------------------------------------------------------------
Rescanning cpu topology
Isolated CPUs: 00000001
Adaptive-ticks CPUs: 00000000
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
-----------------------------------------------------------------------------
Rescanning cpu topology
Isolated CPUs: 00000001
Adaptive-ticks CPUs: 00000000
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
-----------------------------------------------------------------------------
Rescanning cpu topology
Isolated CPUs: 00000001
Adaptive-ticks CPUs: 00000000
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
-----------------------------------------------------------------------------
Rescanning cpu topology
Isolated CPUs: 00000001
Adaptive-ticks CPUs: 00000000
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
-----------------------------------------------------------------------------
Rescanning cpu topology
Isolated CPUs: 00000001
Adaptive-ticks CPUs: 00000000
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
-----------------------------------------------------------------------------
Rescanning cpu topology
Isolated CPUs: 00000001
Adaptive-ticks CPUs: 00000000
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
-----------------------------------------------------------------------------
Rescanning cpu topology
Isolated CPUs: 00000001
Adaptive-ticks CPUs: 00000000
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
-----------------------------------------------------------------------------
Rescanning cpu topology
Isolated CPUs: 00000001
Adaptive-ticks CPUs: 00000000
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
-----------------------------------------------------------------------------
Rescanning cpu topology
Isolated CPUs: 00000001
Adaptive-ticks CPUs: 00000000
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
Package 0: numa_node is -1 cpu mask is 00000002 (load 0)
Cache domain 0: numa_node is -1 cpu mask is 00000002 (load 0)
CPU number 1 numa_node is -1 (load 0)
-------------- next part --------------
CPU0 CPU1
17: 0 0 GIC 29 Edge arch_timer
18: 81115 92172 GIC 30 Edge arch_timer
21: 0 0 GIC 54 Level sun4i_timer0
22: 0 0 GIC 113 Level sun5i_timer0
25: 0 0 GIC 59 Level 1c02000.dma-controller
26: 0 0 GIC 42 Level sun4i-spi
27: 3522 0 GIC 64 Level sunxi-mmc
29: 0 0 GIC 71 Level ehci_hcd:usb1
30: 0 0 GIC 96 Level ohci_hcd:usb3
32: 80837 0 GIC 88 Level 1c18000.sata
33: 0 0 GIC 72 Level ehci_hcd:usb2
34: 0 0 GIC 97 Level ohci_hcd:usb4
37: 1 0 GIC 56 Level 1c20d00.rtc
43: 1316 0 GIC 61 Level sun4i-ts
44: 10 0 GIC 33 Level serial
47: 10116 0 GIC 39 Level mv64xxx_i2c
48: 0 0 GIC 41 Level mv64xxx_i2c
49: 2680034 0 GIC 117 Level eth0
58: 1 0 sunxi_pio_edge 4 Edge usb0-id-det
64: 0 0 sunxi_pio_edge 10 Edge 1c0f000.mmc cd
86: 0 0 sunxi-nmi 0 Level axp20x_irq_chip
92: 0 0 axp20x_irq_chip 5 Edge axp20x-usb-power-supply
93: 0 0 axp20x_irq_chip 6 Edge axp20x-usb-power-supply
113: 0 0 axp20x_irq_chip 26 Edge axp20x-usb-power-supply
114: 0 0 axp20x_irq_chip 27 Edge axp20x-usb-power-supply
120: 0 0 axp20x_irq_chip 33 Edge axp20x-pek-dbr
121: 0 0 axp20x_irq_chip 34 Edge axp20x-pek-dbf
IPI0: 0 0 CPU wakeup interrupts
IPI1: 0 0 Timer broadcast interrupts
IPI2: 39776 2054275 Rescheduling interrupts
IPI3: 0 0 Function call interrupts
IPI4: 13 46 Single function call interrupts
IPI5: 0 0 CPU stop interrupts
IPI6: 1 0 IRQ work interrupts
IPI7: 0 0 completion interrupts
Err: 0
-------------- next part --------------
/proc/irq/16/smp_affinity:3
/proc/irq/17/smp_affinity:3
/proc/irq/18/smp_affinity:3
/proc/irq/19/smp_affinity:3
/proc/irq/20/smp_affinity:3
/proc/irq/21/smp_affinity:1
/proc/irq/22/smp_affinity:1
/proc/irq/25/smp_affinity:3
/proc/irq/26/smp_affinity:3
/proc/irq/27/smp_affinity:3
/proc/irq/29/smp_affinity:3
/proc/irq/30/smp_affinity:3
/proc/irq/32/smp_affinity:3
/proc/irq/33/smp_affinity:3
/proc/irq/34/smp_affinity:3
/proc/irq/37/smp_affinity:3
/proc/irq/43/smp_affinity:3
/proc/irq/44/smp_affinity:3
/proc/irq/47/smp_affinity:3
/proc/irq/48/smp_affinity:3
/proc/irq/49/smp_affinity:3
/proc/irq/58/smp_affinity:3
/proc/irq/64/smp_affinity:3
/proc/irq/86/smp_affinity:3
/proc/irq/92/smp_affinity:3
/proc/irq/93/smp_affinity:3
/proc/irq/113/smp_affinity:3
/proc/irq/114/smp_affinity:3
/proc/irq/120/smp_affinity:3
/proc/irq/121/smp_affinity:3
-------------- next part --------------
Machine (1004MB) + Socket L#0
Core L#0 + PU L#0 (P#0)
Core L#1 + PU L#1 (P#1)
-------------- next part --------------
processor : 0
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 27.78
Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 4
processor : 1
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 27.78
Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 4
Hardware : Allwinner sun7i (A20) Family
Revision : 0000
Serial : 165166c70b825d13
More information about the irqbalance
mailing list