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