aboutsummaryrefslogtreecommitdiffstats
path: root/include
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 /include
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 'include')
-rw-r--r--include/net/tcp.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 113160b84588..87e3c80bfa00 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -834,6 +834,14 @@ static inline __u32 tcp_current_ssthresh(const struct sock *sk)
834extern void tcp_enter_cwr(struct sock *sk, const int set_ssthresh); 834extern void tcp_enter_cwr(struct sock *sk, const int set_ssthresh);
835extern __u32 tcp_init_cwnd(const struct tcp_sock *tp, const struct dst_entry *dst); 835extern __u32 tcp_init_cwnd(const struct tcp_sock *tp, const struct dst_entry *dst);
836 836
837/* The maximum number of MSS of available cwnd for which TSO defers
838 * sending if not using sysctl_tcp_tso_win_divisor.
839 */
840static inline __u32 tcp_max_tso_deferred_mss(const struct tcp_sock *tp)
841{
842 return 3;
843}
844
837/* Slow start with delack produces 3 packets of burst, so that 845/* Slow start with delack produces 3 packets of burst, so that
838 * it is safe "de facto". This will be the default - same as 846 * it is safe "de facto". This will be the default - same as
839 * the default reordering threshold - but if reordering increases, 847 * the default reordering threshold - but if reordering increases,