lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <CA+BoTQkMikA8wxm1ce2DkKhPB0HiKeAqT7f+sQ=91W40z=X0Rg@mail.gmail.com> Date: Tue, 3 Feb 2015 12:50:59 +0100 From: Michal Kazior <michal.kazior@...to.com> To: Eric Dumazet <eric.dumazet@...il.com> Cc: linux-wireless <linux-wireless@...r.kernel.org>, Network Development <netdev@...r.kernel.org>, eyalpe@....mellanox.co.il Subject: Re: Throughput regression with `tcp: refine TSO autosizing` On 3 February 2015 at 02:18, Eric Dumazet <eric.dumazet@...il.com> wrote: > On Mon, 2015-02-02 at 10:52 -0800, Eric Dumazet wrote: > >> It seems to break ACK clocking badly (linux stack has a somewhat buggy >> tcp_tso_should_defer(), which relies on ACK being received smoothly, as >> no timer is setup to split the TSO packet.) > > Following patch might help the TSO split defer logic. > > It would avoid setting the TSO defer 'pseudo timer' twice, if/when TCP > Small Queue logic prevented the xmit at the expiration of first 'timer'. > > This patch clears the tso_deferred variable only if we could really > send something. > > Please try it, thanks ! [..patch..] I've done a second round of tests. I've added the A-MSDU count parameter I've mentioned in my other email into the mix. net - net/master (includes stretch ack patches) net-tso - net/master + your TSO defer patch net-gro - net/master + my ath10k GRO patch net-gro-tso - net/master + duh Here's the best of amsdu count 1 and 3: ; for (i in */output.txt) { echo $i; for (j in (1 3)) { cat $i | awk 'x && /Mbits/ {y=$0}; x && y && !/Mbits/ {print y; x=0; y=""}; /set amsdu cnt to '$j'/{x=1}' | awk '{ if (x < $(NF-1)) {x=$(NF-1)} } END{print "A-MSDU limit='$j', " x " Mbits/sec"}' } } net-gro-tso/output.txt A-MSDU limit=1, 436 Mbits/sec A-MSDU limit=3, 284 Mbits/sec net-gro/output.txt A-MSDU limit=1, 444 Mbits/sec A-MSDU limit=3, 283 Mbits/sec net-tso/output.txt A-MSDU limit=1, 376 Mbits/sec A-MSDU limit=3, 251 Mbits/sec net/output.txt A-MSDU limit=1, 387 Mbits/sec A-MSDU limit=3, 260 Mbits/sec IOW: - stretch acks / TSO defer don't seem to help much (when compared to throughput results from yesterday) - GRO helps - disabling A-MSDU on sender helps - net/master+GRO still doesn't reach the performance from before the regression (~600mbps w/ GRO) You can grab logs and dumps here: http://www.filedropper.com/test2tar MichaĆ -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists