Setting up IRQBALANCE (turning it on) is easy.
It's the configuration so certain IRQ's are locked, that I haven't figured out.
cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
26: 2472286 5083292 2581762 1880894 GIC-0 20 Level arch_timer
33: 5 0 0 0 GIC-0 270 Level bam_dma
34: 0 0 0 0 GIC-0 239 Level bam_dma
35: 133960 120175 24284 197296 GIC-0 133 Level bam_dma
36: 5 0 0 0 GIC-0 139 Level msm_serial0
39: 0 0 0 0 PCI-MSI 0 Edge aerdrv
40: 637269 186823 147001 590018 GIC-0 97 Edge c080000.ethernet:txq0
44: 598084 353430 174716 586893 GIC-0 101 Edge c080000.ethernet:txq4
48: 585844 279139 194936 645573 GIC-0 105 Edge c080000.ethernet:txq8
52: 594586 196608 205041 485758 GIC-0 109 Edge c080000.ethernet:txq12
56: 834965 433105 215029 678114 GIC-0 272 Edge c080000.ethernet:rxq0
58: 757866 222571 158494 605401 GIC-0 274 Edge c080000.ethernet:rxq2
60: 518911 237427 178834 543315 GIC-0 276 Edge c080000.ethernet:rxq4
62: 796258 235847 238023 427017 GIC-0 278 Edge c080000.ethernet:rxq6
64: 944 0 0 0 GIC-0 129 Level i2c_qup
65: 0 0 0 0 msmgpio 18 Edge keys
66: 0 0 0 0 msmgpio 49 Edge keys
67: 2278825 5794278 2193876 2370688 GIC-0 164 Level xhci-hcd:usb1
68: 0 0 0 0 GIC-0 168 Level xhci-hcd:usb3
69: 36 0 0 0 PCI-MSI 524288 Edge ath10k_pci
70: 33 0 0 0 GIC-0 200 Level ath10k_ahb
71: 33 0 0 0 GIC-0 201 Level ath10k_ahb
IPI0: 0 0 0 0 CPU wakeup interrupts
IPI1: 0 0 0 0 Timer broadcast interrupts
IPI2: 8933 9228 11821 8479 Rescheduling interrupts
IPI3: 6690520 8133795 6832309 10834108 Function call interrupts
IPI4: 0 0 0 0 CPU stop interrupts
IPI5: 0 19 0 0 IRQ work interrupts
IPI6: 0 0 0 0 completion interrupts
Err: 0
"To set an IRQ to run on a specific CPU core" - Openwrt Wiki article on irqbalance.
but the wiki doesn't say how to find out which irq should be on which core.
The build/hardware:
ARMv7 Processor rev 5 (v7l)
ipq40xx/generic
OpenWrt SNAPSHOT r29081-2ced0e59a4 / LuCI Master 25.080.50251~fc8ad20
Kernel: 6.6.83
Memory: 81% available (404MiB), 16% used (81MiB), 5% cached (27MiB)
Disk space: 50MiB available & 250MiB of temp space (both less than 1% used)