Only one CPU core is used during download/upload. I have a 1 Gbit connection and this causes the CPU to go to 100%, but only one of the cores. The other one is idling at 5-8%…
Why aren’t both cores utilized during download/upload?
You do not show which process is maxing the CPU. Is it Pakon or SQM or something else? Also, go to Setup and check the option to show detailed CPU usage. That will then show grey parts of the progress bar where the CPU is blocked by I/O.
Likely interrupt and/or softinterrupt processing. Under F2 Setup → Display Options you can check "Detailed CPU time (System/IO-Wait/Hard-IRQ/Soft-IRQ/Steal/Guest) " which will show soft interrupts in pink, I bet these make up a big chunk on the loaded CPU…
Also please post the output of: cat /proc/interrupts
and cat /proc/softirqs
to see how these are distributed over the CPUs…
EDIT: fixed unfortunate typos in both commands, it turns out neither interrups nor softirq is the correct name…
root@turris:~# cat /proc/interrups
cat: can’t open ‘/proc/interrups’: No such file or directory
root@turris:~# cat /proc/softirq
cat: can’t open ‘/proc/softirq’: No such file or directory
Sorry this is my typo should be cat /proc/interrupts (note that I initially missed a “t”)…
Same for cat /proc/softirq probably should be cat /proc/softirqs
As I expected one CPU pegged by softirqs, you could try to enable packet steering, but that will by default not do the best possible on dual core CPUs IIRC.
Please use the Preformatted text button for computer output or put your text between two rows of three backticks:
```
your text
iiii iiii
```
which will then use fixed width font resulting in the expected akignment
So yes, you have most interrupt and softinterrupt processing on CPU0… Not sure which can be moved around, but I would try irqbalance, as @peci1 proposed, and then have this run for some time and repost /proc/interrupts again…
I have the same behavior since TOS 6. And performance degradation.
And it’s “normal” if we see an old post Turris 6.0 - download speed capped at 860 Mbit/s
Not sure if there was another post related to that.
MultiCPU DSA didn’t work yet maybe.
I’m on TOS 6.3 and still the same. Just tested with a speedtest and only CPU0 fully used.
My softirqs:
No didn’t tried yet. There is caution on irqbalance page : 2core targets, outside of benchmarking alone, there may be performance losses.
Maybe it was the same on TOS 5…didn’t checked that when I was on it.
I’ll try two heavy transferts on two computers at same time to see how are CPUs.
I’have a 2.5G sfp wan.
I think you need to activate receive packet steering, and maybe even edit the script that configures packet steering. In the past the issue was that packet steering tried to move packet processing (mostly done in softinterrupt context) to all CPUs that are not actually handling the ethernet interrupts. On a dual core router that means that e.g. when using SQM both shaper instances will run on CPU1, which is only a slight improvement over having both shapers and the ethernet interrupts on CPU0… IMHO the solution for dual core routers is to allow packet steering onto all CPUs.
I think the original design was motivated by a redhat howto, that IMHO targeted big multi-core computers with fast interfaces, where a) interrupt processing is a more noticeable load in itself and b) where there are enough CPUs to distribute the softinterrupt processing over. So I argue that the default packet steering strategy is not optimized for dual core routers…
Mmmh, looking in TOS6.2.4’s /etc/hotplug.d/net/20-smp-packet-steering it seems that the exclusion of interrupt processing CPUs is not happening anymore, so if you have not done so already please try to enable packet steering (in the Network->Interfaces page on the Global network options tab) and redo your test.
Side-note, I seem to recall that the omnia’s SoC can not move some interrupts around at all, so some will stick to CPU0…
I tried it now. Still 100% on CPU0, nothing on CPU1. Only diff is now I only get like 460 Mbit/s instead of 860 Mbit/s download. 400 Mbit/s slower download speed. Upload still around 940 Mbit/s.