[PATCH 2.6.27] tcp_vegas ssthresh bug fix

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Douglas Leith
Date: Thursday, December 4, 2008 - 5:11 pm

This patch fixes a bug in tcp_vegas.c.  At the moment this code  
leaves ssthresh untouched.  However, this means that the vegas  
congestion control algorithm is effectively unable to reduce cwnd  
below the ssthresh value (if the vegas update lowers the cwnd below  
ssthresh, then slow start is activated to raise it back up).   One  
example where this matters is when during slow start cwnd overshoots  
the link capacity and a flow then exits slow start with ssthresh set  
to a value above where congestion avoidance would like to adjust it.

Signed-off-by:  Doug Leith <doug.leith@nuim.ie>

---
--- net/ipv4/tcp_vegas.c.orig   2008-12-04 23:51:19.000000000 +0000
+++ net/ipv4/tcp_vegas.c        2008-12-05 00:00:42.000000000 +0000
@@ -328,2 +328,4 @@ static void tcp_vegas_cong_avoid(struct
                                 tp->snd_cwnd = tp->snd_cwnd_clamp;
+
+                       tp->snd_ssthresh = tcp_current_ssthresh(sk);
                 }
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 2.6.27] tcp_vegas ssthresh bug fix, Douglas Leith, (Thu Dec 4, 5:11 pm)
Re: [PATCH 2.6.27] tcp_vegas ssthresh bug fix, David Miller, (Thu Dec 4, 5:24 pm)
Re: [PATCH 2.6.27] tcp_vegas ssthresh bug fix, David Miller, (Thu Dec 4, 6:17 pm)