You can also try packet steering (if you haven’t already), I’m not sure of the differences between it and irqbalance, but it serves the same purpose (network>interfaces>global network options).
|Model||Raspberry Pi 4 Model B Rev 1.4|
|Architecture||ARMv8 Processor rev 3|
|Firmware Version||OpenWrt 21.02.0-rc2 r16122-c2139eef27 / LuCI openwrt-21.02 branch git-21.148.49484-14511e5|
|Local Time||2021-10-25 10:15:35|
|Uptime||10h 19m 33s|
|Load Average||0.40, 0.45, 0.43|
Are there any commands that I can run via the CLI that will help to diagnose/isolate this issue.
The router has been stable since I removed irqbalance, but I'm not sure if that is just a coincidence.
The problem first occurred when I enabled both 'packet steering' and irqbalance. Should both things be run at the same time?
try disabling one, then the other
Which is 'better'?
The one that works without issue
I've read both are rather ineffective anyway
Without either Packet Steering or irqbalance enabled, the download speed maxes out at around 520Mbps with SQM enabled, so they are definitely effective.
I think I have resolved the issue.
The syslog contained a lot of errors relating to the 'wan' connection, which is my previous PPPoE broadband. I had unplugged the cable, but left the configuration alone. Adblock was also running very slowly and may have been experiencing conflicts.
I've now completely deleted the PPPoE interface and luci is very responsive and appears to be stable with both irqbalance and packet steering enabled.
Good for you! For any future readers looking for Pi help, I run packet steering and irqbalance and have not had a problem with them on my Pi4B, however as always YMMV.
I personally found packet steering to slightly hinder performance on the Pi 4. irqbalance is good (and necessary!) but can be achieved through manual pinning of interrupts as well without risking them shifting around later.
Do you have a link to a guide that explains how to do this?
- Disable or uninstall irqbalance
- Add the following to /etc/rc.local (which just does what irqbalance does, except as a one-shot versus having them potentially shift later):
echo 2 > /proc/irq/31/smp_affinity echo 8 > /proc/irq/32/smp_affinity
- Execute the above lines manually or reboot
the way you added it to local startup means it is doing nothing, since you added the commands AFTER the
Believe it or not, I did wonder about that!
Can you explain the command in a bit more detail.
This post uses
echo 2 for both commands.
What is the significance of the
echo 2 vs
echo 8 and
I'd be interested in how those irq's are relevant to "Raspberry Pi 4" .. .since 31 doesn't exist on the pi4 and 32 is the "VCHIQ doorbell"
Can you suggest some more appropriate commands for the Raspberry Pi 4?
No ... the commands are fine - the irq's are invalid or not relevant - but that's OK, since you aren't actually running them - but somehow, adding two lines of incorrect code that doesn't even run ... "seems to be working"
If it's working, then don't fix it
What are the valid irqs for a Raspberry Pi? Don't be a tease...
Just to give some context on what's possible, I can easily get 800+ Mbps through my squid proxy on my RPi4 while running my custom HFSC shaper. Just regular routing and SQM should be no problem once you spread the load over the CPUs.