Xrx200 IRQ balancing between VPEs

@olek210
Thank you, i'll try it.
I (finally) managed to patch the kernel myself (phew), and it seems to work.
Now i can set TX and RX to different VPEs.
But the VDSL download speed is still much lower than with 21.02.3 (11.460 kb/s vs. 6970 kb/s).
Maybe you've got some brilliant ideas on how to get back to the higher speed...
I also forgot to put LuCI on the list, so i had to do everything via cli. Fortunately that's not a big problem...

Other users report a drop in the speed to 60 Mbps.

I'm interested if you see any difference with Software flow Offload enabled?

@elder_tinkerer

Are you able to generate a graph using flamegraph and perf record?

Then we can see what consumes more CPU power.

@olek210

Yes, there's a difference.
With Software flow Offload enabled i'll get a download speed at approx. 9350 kB/s.
Without it's approx. 7500 kB/s.
I'll get the highest speed when both irq 72 and 73 are set to use the first VPE.
All other combinations (both to the 2nd VPE, or both on different) result in lower speed.
Btw: For this test i used the latest snapshot.

@olek210

To be honest,
i haven't the slightest clue on how to set this up on the router.

Maybe with some (or a lot of) help i might be able to do this...

You need to compile the image with perf and perf_event.
Later, invoke the commands:

perf record -F 99 -a -g -- sleep 60
perf script > /tmp/perf.script

Later, download the contents of the perf.script file to the computer via scp. On the computer, execute the commands:

cat perf.script | ./stackcollapse-perf.pl > out.perf-folded
# ./flamegraph.pl out.perf-folded > perf.svg

The output is a perf.svg file, which is best to open in a browser.

@olek210

At the moment i'm quite busy with work and family, but when i find some spare time i'll give it a try.

I'm curious why there's such a difference between 21.02 and 22.03 regarding VDSL speed...

I assume i have to select perf and perf_event in the kernel menuconfig? Well, i didn't found it :frowning:

Maybe you can give me some more help where and what to select? I really would like to give you the informations you asked for, but i'm unable to configure the build myself...it's just overwhelming.

Select:

Global build settings --> Kernel build options --> Compile the kernel with performance events and counters
Development --> Perf

On "Kernel build options" i can't find an entry for "Compile the Development", and therefore no sub-entry for "Perf".
Or is this only valid for the 5.15 kernel?

Development --> Perf (second line) are in the main menu. These options should only appear when you enable perf_event (first line). Both options are definitely available on kernel 5.10.

1 Like

Oops...my mistake. There's a difference between 'reading a text' and 'understand what it means' :face_with_peeking_eye:
Please blame my work for it...
Finally i found the entries and enabled them.
Now it takes some time on this old PC to compile the whole image.

Thank you.

1 Like

It's up and running, but i can't upload the .svg file because it's a not authorized file format.

Send me these files via email. My email address: olek2 at wp.pl

@olek210
Hi,
do you already had some time to take a look on the files i sent you?

Or maybe already found a solution to make the HH5A with 22.03 as fast as with 21.02?

1 Like

@elder_tinkerer
Hi,
I got the email, but have not yet identified the problem. Can you generate the same graphs for OpenWRT 21.02? This will make it easier to identify the problem.

I also wonder if this problem is specific to Lantiq. It is difficult to compare performance on this targe because random code changes can reduce performance by 25%. This is probably due to the alignment of hot loops or functions to cacheline.

A performance loss or gain by 25% is quite a lot, especially when the device hasn't got much resources left.
The improvements in 22.03 may take their toll, so the HH5A might be just at the limit while 'only' using PPPOE and routing/firewalling.
At the moment i'm trying to get a used Fritzbox 7520 (which is identical with the 7530, with some restrictions done in the firmware) at a reasonable price.
But since a few weeks the prices go up, and (super)vectoring capable hardware becomes more expensive.
Maybe i'll try to use one HH5A as a bridged modem and the other as a router, but that will double the power consumption and raise the cost...

So as bridged modem my HH5A consumes something like 6.9 W on average (see here) (both WiFi radios disabled).
In my limited experience the HH5A (in 2018 IIRC) did already struggle on a 50/10 link with NAT, firewall, SQM, WiFi, speedtests over WiFi stayed well below the expected throughput. I reluctantly relegated it to bridged-modem duty, which it now does satisfactorily on a nominal 100/40 link (VDSL2/PTM sync 116.797 Mb/s / 36.999 Mb/s, full bidirectional throughput is a bit behind the theoretical limit, but fast enough for me not to bother, YMMV).

Well, we know that SQM consumes quite a lot of power.
I assume, when somebody wants to use SQM / CAKE you need a device that has to be much more powerful than this rather cheap wifi router.

While my HH5A 'only' does PPPoE and routing/firewalling, i had no problems using the full DL/UL speed with 21.02. Of course with a cpu load of about 95%.
This changed when i ugraded to 22.03. The maximum is at approx. 85 MBit and the cpu on 99%.
I guess it's like with many software: newer versions may be faster or have got additional functions, but they need stronger hardware to accomplish this.

Until oleg210 or any other genius finds a solution to keep the speed on 22.03, i'll be using 21.02.5.

Unfortunately there's no alternative to Lantiq. Broadcom and Qualcomm modem chips might be better, but without available drivers they will never be supported by OpenWRT.