diff options
| -rw-r--r-- | net/ipv4/tcp_cubic.c | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/net/ipv4/tcp_cubic.c b/net/ipv4/tcp_cubic.c index 7172c129ff1..90d92dd4cf1 100644 --- a/net/ipv4/tcp_cubic.c +++ b/net/ipv4/tcp_cubic.c @@ -270,6 +270,13 @@ static inline void bictcp_update(struct bictcp *ca, u32 cwnd)  		ca->cnt = 100 * cwnd;              /* very small increment*/  	} +	/* +	 * The initial growth of cubic function may be too conservative +	 * when the available bandwidth is still unknown. +	 */ +	if (ca->loss_cwnd == 0 && ca->cnt > 20) +		ca->cnt = 20;	/* increase cwnd 5% per RTT */ +  	/* TCP Friendly */  	if (tcp_friendliness) {  		u32 scale = beta_scale;  |