aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp_cong.c
diff options
context:
space:
mode:
authorNeal Cardwell <ncardwell@google.com>2011-11-21 12:15:14 -0500
committerDavid S. Miller <davem@davemloft.net>2011-11-29 00:29:41 -0500
commit6b5a5c0dbb11dcff4e1b0f1ef87a723197948ed4 (patch)
tree3e9958d845a385f94e44bd64d081de218835865b /net/ipv4/tcp_cong.c
parentbefc93fe76177b3b6ee1e3351b58293866f43aa6 (diff)
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>
Diffstat (limited to 'net/ipv4/tcp_cong.c')
-rw-r--r--net/ipv4/tcp_cong.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/tcp_cong.c b/net/ipv4/tcp_cong.c
index 850c737e08e2..fc6d475f488f 100644
--- a/net/ipv4/tcp_cong.c
+++ b/net/ipv4/tcp_cong.c
@@ -292,7 +292,7 @@ int tcp_is_cwnd_limited(const struct sock *sk, u32 in_flight)
292 left * sysctl_tcp_tso_win_divisor < tp->snd_cwnd && 292 left * sysctl_tcp_tso_win_divisor < tp->snd_cwnd &&
293 left * tp->mss_cache < sk->sk_gso_max_size) 293 left * tp->mss_cache < sk->sk_gso_max_size)
294 return 1; 294 return 1;
295 return left <= tcp_max_burst(tp); 295 return left <= tcp_max_tso_deferred_mss(tp);
296} 296}
297EXPORT_SYMBOL_GPL(tcp_is_cwnd_limited); 297EXPORT_SYMBOL_GPL(tcp_is_cwnd_limited);
298 298