[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-id: <650FA54C-402C-48CC-95AD-CA4AC5086BAD@nuim.ie>
Date: Fri, 05 Dec 2008 00:11:05 +0000
From: Douglas Leith <Doug.Leith@...m.ie>
To: Netdev <netdev@...r.kernel.org>
Cc: David Miller <davem@...emloft.net>,
Stephen Hemminger <shemminger@...tta.com>
Subject: [PATCH 2.6.27] tcp_vegas ssthresh bug fix
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@...m.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);
}
Download attachment "vegas_ssthreshfix.diff" of type "application/octet-stream" (285 bytes)
Powered by blists - more mailing lists