[BPI-R4-PRO] Bad perf on 10 gigabit ports

ah, i see in your tree…di you also use the 1.9.1 firmware or the one currently in my repo/your fork (1.8.5)?

is 1.9.1 driver/firmware better than the 1.8.5 i currently use?

have cherry-picked your code-changes to upstream 6.19-rc, the as21 driverchange only locally

seems the 1.9.1 firmware is same as the one i have in my 6.19-rc branch (i’m sure it was printing 1.8.5)

so i used as base the 6.19-rc and then retrofitted the 1.9.1 patch and are using the 1.9.1 firmware

Just switched to Frank’s 6.19-main branch which includes your changes, Perf is better but still dies with a --bidir test.
Can you confirm this on your side?
Run iperf3 -s on the bpi
Then iperf3 --bidir -c ip.of.banana.pi on another machine

Have you checked firmware version in dmesg? I tried copying the 1.9.1 firmware but diff said there is no difference,so i can’t commit it. Looks like the firmware blob was 1.9.1 already (and reported 1.8.5 with older driver version) or have not changed since i had synchronised last time.

iperf3 -c bpi4 --bidir
Connecting to host bpi4, port 5201
[  5] local bpi4pro port 38730 connected to bpi4 port 5201
[  7] local bpi4pro  port 38742 connected to bpi4 port 5201
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][TX-C]   0.00-1.00   sec   582 MBytes  4.88 Gbits/sec    0   2.18 MBytes
[  7][RX-C]   0.00-1.00   sec  80.0 MBytes   670 Mbits/sec
[  5][TX-C]   1.00-2.00   sec   586 MBytes  4.92 Gbits/sec    0   2.18 MBytes
[  7][RX-C]   1.00-2.00   sec  70.0 MBytes   587 Mbits/sec
[  5][TX-C]   2.00-3.00   sec   589 MBytes  4.94 Gbits/sec    0   2.18 MBytes
[  7][RX-C]   2.00-3.00   sec  70.6 MBytes   592 Mbits/sec
[  5][TX-C]   3.00-4.00   sec   588 MBytes  4.93 Gbits/sec    0   2.18 MBytes
[  7][RX-C]   3.00-4.00   sec  74.8 MBytes   627 Mbits/sec
[  5][TX-C]   4.00-5.00   sec   590 MBytes  4.95 Gbits/sec    0   2.18 MBytes
[  7][RX-C]   4.00-5.00   sec  71.2 MBytes   598 Mbits/sec
[  5][TX-C]   5.00-6.00   sec   590 MBytes  4.95 Gbits/sec    0   2.18 MBytes
[  7][RX-C]   5.00-6.00   sec  71.1 MBytes   597 Mbits/sec
[  5][TX-C]   6.00-7.00   sec   589 MBytes  4.94 Gbits/sec    0   2.18 MBytes
[  7][RX-C]   6.00-7.00   sec  73.1 MBytes   613 Mbits/sec
[  5][TX-C]   7.00-8.00   sec   585 MBytes  4.91 Gbits/sec    0   2.18 MBytes
[  7][RX-C]   7.00-8.00   sec  71.9 MBytes   603 Mbits/sec
[  5][TX-C]   8.00-9.00   sec   589 MBytes  4.94 Gbits/sec    0   2.18 MBytes
[  7][RX-C]   8.00-9.00   sec  70.5 MBytes   591 Mbits/sec
[  5][TX-C]   9.00-10.01  sec   561 MBytes  4.66 Gbits/sec    0   2.18 MBytes
[  7][RX-C]   9.00-10.01  sec  95.1 MBytes   790 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-10.01  sec  5.71 GBytes  4.90 Gbits/sec    0            sender
[  5][TX-C]   0.00-10.01  sec  5.71 GBytes  4.90 Gbits/sec                  receiver
[  7][RX-C]   0.00-10.01  sec   752 MBytes   630 Mbits/sec    0            sender
[  7][RX-C]   0.00-10.01  sec   748 MBytes   627 Mbits/sec                  receiver

Accepted connection from bpi4pro, port 38724
[  5] local bpi4 port 5201 connected to bpi4pro port 38730
[  8] local bpi4  port 5201 connected to bpi4pro port 38742
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][RX-S]   0.00-1.00   sec   579 MBytes  4.85 Gbits/sec
[  8][TX-S]   0.00-1.00   sec  83.4 MBytes   699 Mbits/sec    0    354 KBytes
[  5][RX-S]   1.00-2.00   sec   587 MBytes  4.92 Gbits/sec
[  8][TX-S]   1.00-2.00   sec  69.9 MBytes   586 Mbits/sec    0    354 KBytes
[  5][RX-S]   2.00-3.00   sec   589 MBytes  4.94 Gbits/sec
[  8][TX-S]   2.00-3.00   sec  70.4 MBytes   590 Mbits/sec    0    365 KBytes
[  5][RX-S]   3.00-4.00   sec   588 MBytes  4.93 Gbits/sec
[  8][TX-S]   3.00-4.00   sec  74.2 MBytes   623 Mbits/sec    0    373 KBytes
[  5][RX-S]   4.00-5.00   sec   590 MBytes  4.95 Gbits/sec
[  8][TX-S]   4.00-5.00   sec  71.5 MBytes   600 Mbits/sec    0    396 KBytes
[  5][RX-S]   5.00-6.00   sec   590 MBytes  4.95 Gbits/sec
[  8][TX-S]   5.00-6.00   sec  71.5 MBytes   600 Mbits/sec    0    373 KBytes
[  5][RX-S]   6.00-7.00   sec   589 MBytes  4.94 Gbits/sec
[  8][TX-S]   6.00-7.00   sec  73.4 MBytes   616 Mbits/sec    0    376 KBytes
[  5][RX-S]   7.00-8.00   sec   585 MBytes  4.91 Gbits/sec
[  8][TX-S]   7.00-8.00   sec  71.6 MBytes   600 Mbits/sec    0    348 KBytes
[  5][RX-S]   8.00-9.00   sec   590 MBytes  4.95 Gbits/sec
[  8][TX-S]   8.00-9.00   sec  70.5 MBytes   591 Mbits/sec    0    390 KBytes
[  5][RX-S]   9.00-10.00  sec   561 MBytes  4.70 Gbits/sec
[  8][TX-S]   9.00-10.00  sec  95.5 MBytes   801 Mbits/sec    0    359 KBytes
[  5][RX-S]  10.00-10.01  sec  4.00 MBytes  3.11 Gbits/sec
[  8][TX-S]  10.00-10.01  sec  0.00 Bytes  0.00 bits/sec    0    359 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][RX-S]   0.00-10.01  sec  5.71 GBytes  4.90 Gbits/sec                  receiver
[  8][TX-S]   0.00-10.01  sec   752 MBytes   630 Mbits/sec    0            sender

According to dmesg it says it’s 1.9.1
I feel like i should switch to 1.8.5 and see if that’s any better, Anyone got a link to that firmware?