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