rm_ Posted July 7, 2023 Posted July 7, 2023 Basically, just did 3 consecutive runs of iperf3, and they look like this. And it is not cpufreq, since setting it to performance on all CPU cores does not affect things. Using the current stable Debian image with kernel 6.1.30. Any ideas? $ iperf3 -c 192.168.103.156 Connecting to host 192.168.103.156, port 5201 [ 4] local 192.168.0.101 port 58758 connected to 192.168.103.156 port 5201 [ ID] Interval Transfer Bandwidth Retr Cwnd [ 4] 0.00-1.00 sec 27.3 MBytes 229 Mbits/sec 0 201 KBytes [ 4] 1.00-2.00 sec 26.4 MBytes 222 Mbits/sec 0 195 KBytes [ 4] 2.00-3.00 sec 26.3 MBytes 221 Mbits/sec 0 195 KBytes [ 4] 3.00-4.00 sec 26.3 MBytes 220 Mbits/sec 0 204 KBytes [ 4] 4.00-5.00 sec 26.3 MBytes 220 Mbits/sec 0 206 KBytes [ 4] 5.00-6.00 sec 26.0 MBytes 218 Mbits/sec 0 218 KBytes [ 4] 6.00-7.00 sec 26.2 MBytes 220 Mbits/sec 0 198 KBytes [ 4] 7.00-8.00 sec 26.3 MBytes 221 Mbits/sec 0 204 KBytes [ 4] 8.00-9.00 sec 26.3 MBytes 220 Mbits/sec 0 181 KBytes [ 4] 9.00-10.00 sec 25.7 MBytes 216 Mbits/sec 0 5.66 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 263 MBytes 221 Mbits/sec 0 sender [ 4] 0.00-10.00 sec 261 MBytes 219 Mbits/sec receiver iperf Done. $ iperf3 -c 192.168.103.156 Connecting to host 192.168.103.156, port 5201 [ 4] local 192.168.0.101 port 49032 connected to 192.168.103.156 port 5201 [ ID] Interval Transfer Bandwidth Retr Cwnd [ 4] 0.00-1.00 sec 27.8 MBytes 233 Mbits/sec 0 232 KBytes [ 4] 1.00-2.00 sec 26.1 MBytes 219 Mbits/sec 0 204 KBytes [ 4] 2.00-3.00 sec 26.3 MBytes 221 Mbits/sec 0 235 KBytes [ 4] 3.00-4.00 sec 26.6 MBytes 223 Mbits/sec 0 204 KBytes [ 4] 4.00-5.00 sec 25.9 MBytes 217 Mbits/sec 0 198 KBytes [ 4] 5.00-6.00 sec 26.2 MBytes 219 Mbits/sec 0 209 KBytes [ 4] 6.00-7.00 sec 26.3 MBytes 221 Mbits/sec 0 232 KBytes [ 4] 7.00-8.00 sec 27.0 MBytes 227 Mbits/sec 0 368 KBytes [ 4] 8.00-9.00 sec 59.2 MBytes 497 Mbits/sec 0 260 KBytes [ 4] 9.00-10.00 sec 112 MBytes 938 Mbits/sec 0 255 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 383 MBytes 322 Mbits/sec 0 sender [ 4] 0.00-10.00 sec 379 MBytes 318 Mbits/sec receiver iperf Done. $ iperf3 -c 192.168.103.156 Connecting to host 192.168.103.156, port 5201 [ 4] local 192.168.0.101 port 44610 connected to 192.168.103.156 port 5201 [ ID] Interval Transfer Bandwidth Retr Cwnd [ 4] 0.00-1.00 sec 116 MBytes 974 Mbits/sec 0 286 KBytes [ 4] 1.00-2.00 sec 112 MBytes 939 Mbits/sec 0 280 KBytes [ 4] 2.00-3.00 sec 112 MBytes 937 Mbits/sec 0 280 KBytes [ 4] 3.00-4.00 sec 112 MBytes 938 Mbits/sec 0 283 KBytes [ 4] 4.00-5.00 sec 112 MBytes 938 Mbits/sec 0 277 KBytes [ 4] 5.00-6.00 sec 112 MBytes 938 Mbits/sec 0 283 KBytes [ 4] 6.00-7.00 sec 112 MBytes 938 Mbits/sec 0 283 KBytes [ 4] 7.00-8.00 sec 112 MBytes 938 Mbits/sec 0 277 KBytes [ 4] 8.00-9.00 sec 112 MBytes 938 Mbits/sec 0 277 KBytes [ 4] 9.00-10.00 sec 112 MBytes 938 Mbits/sec 0 288 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 1.10 GBytes 942 Mbits/sec 0 sender [ 4] 0.00-10.00 sec 1.09 GBytes 938 Mbits/sec receiver iperf Done. Upload has the same problem, except it will ramp up from as low as 50 Mbit to very unstable 500-700. $ iperf3 -c 192.168.103.156 -R Connecting to host 192.168.103.156, port 5201 Reverse mode, remote host 192.168.103.156 is sending [ 4] local 192.168.0.101 port 47082 connected to 192.168.103.156 port 5201 [ ID] Interval Transfer Bandwidth [ 4] 0.00-1.00 sec 5.73 MBytes 48.1 Mbits/sec [ 4] 1.00-2.00 sec 5.30 MBytes 44.5 Mbits/sec [ 4] 2.00-3.00 sec 5.30 MBytes 44.4 Mbits/sec [ 4] 3.00-4.00 sec 5.92 MBytes 49.7 Mbits/sec [ 4] 4.00-5.00 sec 6.22 MBytes 52.2 Mbits/sec [ 4] 5.00-6.00 sec 5.87 MBytes 49.2 Mbits/sec [ 4] 6.00-7.00 sec 5.08 MBytes 42.6 Mbits/sec [ 4] 7.00-8.00 sec 6.05 MBytes 50.7 Mbits/sec [ 4] 8.00-9.00 sec 5.69 MBytes 47.7 Mbits/sec [ 4] 9.00-10.00 sec 6.27 MBytes 52.6 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 60.2 MBytes 50.5 Mbits/sec 0 sender [ 4] 0.00-10.00 sec 57.7 MBytes 48.4 Mbits/sec receiver iperf Done. $ iperf3 -c 192.168.103.156 -R Connecting to host 192.168.103.156, port 5201 Reverse mode, remote host 192.168.103.156 is sending [ 4] local 192.168.0.101 port 55344 connected to 192.168.103.156 port 5201 [ ID] Interval Transfer Bandwidth [ 4] 0.00-1.00 sec 5.72 MBytes 47.9 Mbits/sec [ 4] 1.00-2.00 sec 5.70 MBytes 47.9 Mbits/sec [ 4] 2.00-3.00 sec 57.5 MBytes 482 Mbits/sec [ 4] 3.00-4.00 sec 76.8 MBytes 644 Mbits/sec [ 4] 4.00-5.00 sec 65.5 MBytes 550 Mbits/sec [ 4] 5.00-6.00 sec 85.4 MBytes 717 Mbits/sec [ 4] 6.00-7.00 sec 77.8 MBytes 653 Mbits/sec [ 4] 7.00-8.00 sec 88.6 MBytes 743 Mbits/sec [ 4] 8.00-9.00 sec 81.0 MBytes 680 Mbits/sec [ 4] 9.00-10.00 sec 78.3 MBytes 657 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 626 MBytes 525 Mbits/sec 0 sender [ 4] 0.00-10.00 sec 623 MBytes 522 Mbits/sec receiver iperf Done. 0 Quote
rm_ Posted July 13, 2023 Author Posted July 13, 2023 (edited) Tried a development image with kernel 6.4.1, the problem is still present. Also, Orange Pi Prime is affected in the same way. Edited July 13, 2023 by rm_ 0 Quote
rm_ Posted August 21, 2023 Author Posted August 21, 2023 (edited) Tested with a vanilla Debian image by johang using kernel 6.1.38, and the problem is not present there. Edited August 21, 2023 by rm_ 0 Quote
Gunjan Gupta Posted August 23, 2023 Posted August 23, 2023 Thanks for reporting the issue. I will take a look for Orange PI Prime and revert back to you 0 Quote
Gunjan Gupta Posted September 4, 2023 Posted September 4, 2023 @rm_ We have found the reason for the issue. It seems to be cause by sun8i-a33-mbus kernel module which provides dynamic frequency scaling for ram i.e if the system is not under too much load, the driver will lower ram frequency to save some power. I tried modifying the driver to see if a higher value for minimum frequency can solve the issue, but even though that works when testing on a running system, it doesn't work on boot. So as a workaround, I am going to disable this driver in the kernel config and raise a PR. Until the fix is merged, as a workaround follow these steps to mitigate the issue on your system Edit the /etc/modprobe.d/blacklist.conf file. Feel free to create it if it doesn't exist. Add the following line to it blacklist sun8i-a33-mbus You might also have to run the following command to make sure driver is not loaded from initramfs sudo update-initramfs -c -k all Your device should work fine after reboot 0 Quote
Solution Gunjan Gupta Posted September 5, 2023 Solution Posted September 5, 2023 Fix is merged. Should work better once newer kernel is available via repository. Meanwhile you can use the above workaround. 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.