[TCP] tcp_highspeed: Fix problem observed by Xiaoliang (David) Wei
When snd_cwnd is smaller than 38 and the connection is in congestion avoidance phase (snd_cwnd > snd_ssthresh), the snd_cwnd seems to stop growing. The additive increase was confused because C array's are 0 based. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0f32621578
commit
fb80a6e1a5
1 changed files with 2 additions and 1 deletions
|
@ -135,7 +135,8 @@ static void hstcp_cong_avoid(struct sock *sk, u32 adk, u32 rtt,
|
|||
|
||||
/* Do additive increase */
|
||||
if (tp->snd_cwnd < tp->snd_cwnd_clamp) {
|
||||
tp->snd_cwnd_cnt += ca->ai;
|
||||
/* cwnd = cwnd + a(w) / cwnd */
|
||||
tp->snd_cwnd_cnt += ca->ai + 1;
|
||||
if (tp->snd_cwnd_cnt >= tp->snd_cwnd) {
|
||||
tp->snd_cwnd_cnt -= tp->snd_cwnd;
|
||||
tp->snd_cwnd++;
|
||||
|
|
Loading…
Reference in a new issue