Message ID | 20191226190101.3766479-1-martin.blumenstingl@googlemail.com (mailing list archive) |
---|---|
Headers | show |
Series | dwmac-meson8b: Ethernet RGMII TX delay fix | expand |
Hello: This patch was applied to khilman/linux-amlogic.git (refs/heads/for-next). On Thu, 26 Dec 2019 20:01:00 +0100 you wrote: > The Ethernet TX performance has been historically bad on Meson8b and > Meson8m2 SoCs because high packet loss was seen. Today I (presumably) > found out why this is: the input clock (which feeds the RGMII TX clock) > has to be at least 4 times 125MHz. With the fixed "divide by 2" in the > clock tree this means that m250_div needs to be at least 2. > > With this patch and a 2ns TX delay generated by either the MAC *or* the > PHY this results in improved Ethernet TX performance and no packet loss > anymore: > # iperf3 -c 192.168.1.100 > Connecting to host 192.168.1.100, port 5201 > [ 5] local 192.168.1.163 port 42636 connected to 192.168.1.100 port 5201 > [ ID] Interval Transfer Bitrate Retr Cwnd > [ 5] 0.00-1.00 sec 105 MBytes 878 Mbits/sec 0 609 KBytes > [ 5] 1.00-2.00 sec 106 MBytes 885 Mbits/sec 0 683 KBytes > [ 5] 2.00-3.09 sec 73.7 MBytes 570 Mbits/sec 0 683 KBytes > [ 5] 3.09-4.00 sec 81.9 MBytes 754 Mbits/sec 0 795 KBytes > [ 5] 4.00-5.00 sec 104 MBytes 869 Mbits/sec 0 877 KBytes > [ 5] 5.00-6.00 sec 105 MBytes 878 Mbits/sec 0 877 KBytes > [ 5] 6.00-7.00 sec 68.0 MBytes 571 Mbits/sec 0 877 KBytes > [ 5] 7.00-8.00 sec 80.7 MBytes 676 Mbits/sec 0 877 KBytes > [ 5] 8.00-9.01 sec 102 MBytes 853 Mbits/sec 0 877 KBytes > [ 5] 9.01-10.00 sec 101 MBytes 859 Mbits/sec 0 877 KBytes > - - - - - - - - - - - - - - - - - - - - - - - - - > [ ID] Interval Transfer Bitrate Retr > [ 5] 0.00-10.00 sec 927 MBytes 778 Mbits/sec 0 sender > [ 5] 0.00-10.01 sec 927 MBytes 777 Mbits/sec receiver > > [...] Here is a summary with links: - [v2,1/1] net: stmmac: dwmac-meson8b: Fix the RGMII TX delay on Meson8b/8m2 SoCs https://git.kernel.org/khilman/linux-amlogic/c/bd6f48546b9cb7a785344fc78058c420923d7ed8 You are awesome, thank you!