add patches to queue
[linux-2.6.22.y-op-patches.git] / queue-2.6.22.y / increase-the-max_burst-threshold-from-3-to-tp-reordering.patch
blobf2d0af40799da0d8f02be273773fc3cfc6239e7b
1 From 3c0390e1a6d8a5d0cdae57959f0be37a236b474d Mon Sep 17 00:00:00 2001
2 From: John Heffner <jheffner@napa.(none)>
3 Date: Fri, 25 Apr 2008 01:43:57 -0700
4 Subject: [PATCH] [TCP]: Increase the max_burst threshold from 3 to tp->reordering.
6 From: John Heffner <jheffner@napa.(none)>
8 [ Upstream commit: dd9e0dda66ba38a2ddd1405ac279894260dc5c36 ]
10 This change is necessary to allow cwnd to grow during persistent
11 reordering. Cwnd moderation is applied when in the disorder state
12 and an ack that fills the hole comes in. If the hole was greater
13 than 3 packets, but less than tp->reordering, cwnd will shrink when
14 it should not have.
16 Signed-off-by: John Heffner <jheffner@napa.(none)>
17 Signed-off-by: David S. Miller <davem@davemloft.net>
18 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
20 ---
21 include/net/tcp.h | 7 +++++--
22 1 file changed, 5 insertions(+), 2 deletions(-)
24 --- a/include/net/tcp.h
25 +++ b/include/net/tcp.h
26 @@ -775,11 +775,14 @@ extern void tcp_enter_cwr(struct sock *s
27 extern __u32 tcp_init_cwnd(struct tcp_sock *tp, struct dst_entry *dst);
29 /* Slow start with delack produces 3 packets of burst, so that
30 - * it is safe "de facto".
31 + * it is safe "de facto". This will be the default - same as
32 + * the default reordering threshold - but if reordering increases,
33 + * we must be able to allow cwnd to burst at least this much in order
34 + * to not pull it back when holes are filled.
36 static __inline__ __u32 tcp_max_burst(const struct tcp_sock *tp)
38 - return 3;
39 + return tp->reordering;
42 /* RFC2861 Check whether we are limited by application or congestion window