tcp: do not scale TSO segment size with reordering degree
authorNeal Cardwell <ncardwell@google.com>
Mon, 21 Nov 2011 17:15:14 +0000 (17:15 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 29 Nov 2011 05:29:41 +0000 (00:29 -0500)
commit6b5a5c0dbb11dcff4e1b0f1ef87a723197948ed4
tree3e9958d845a385f94e44bd64d081de218835865b
parentbefc93fe76177b3b6ee1e3351b58293866f43aa6
tcp: do not scale TSO segment size with reordering degree

Since 2005 (c1b4a7e69576d65efc31a8cea0714173c2841244)
tcp_tso_should_defer has been using tcp_max_burst() as a target limit
for deciding how large to make outgoing TSO packets when not using
sysctl_tcp_tso_win_divisor. But since 2008
(dd9e0dda66ba38a2ddd1405ac279894260dc5c36) tcp_max_burst() returns the
reordering degree. We should not have tcp_tso_should_defer attempt to
build larger segments just because there is more reordering. This
commit splits the notion of deferral size used in TSO from the notion
of burst size used in cwnd moderation, and returns the TSO deferral
limit to its original value.

Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tcp.h
net/ipv4/tcp_cong.c
net/ipv4/tcp_output.c