Thread (1 message) 1 message, 1 author, 2008-12-09

Re: [PATCH 2.6.27] tcp_vegas cong avoid fix

From: David Miller <davem@davemloft.net>
Date: 2008-12-09 08:13:37

From: Douglas Leith <redacted>
Date: Fri, 5 Dec 2008 16:47:43 +0000
This patch addresses a book-keeping issue in tcp_vegas.c.   At present tcp_vegas
does separate book-keeping of cwnd based on packet sequence numbers.  A mismatch can develop between this
book-keeping and tp->snd_cwnd due, for example, to delayed acks acking
multiple packets.  When vegas transitions to reno operation (e.g. following
loss), then this mismatch leads to incorrect behaviour (akin to a cwnd
backoff).  This seems mostly to affect operation at low cwnds where delayed acking can 
lead to a significant fraction of cwnd being covered by a single ack, leading to the 
book-keeping mismatch.  This patch modifies the congestion avoidance update to avoid 
the need for separate book-keeping while leaving vegas congestion avoidance functionally 
unchanged.  A secondary advantage of this modification is that the use of fixed-point 
(via V_PARAM_SHIFT) and 64 bit arithmetic is no longer necessary, simplifying the code.

Some example test measurements with the patched code (confirming no functional
change in the congestion avoidance algorithm) can be seen at:

http://www.hamilton.ie/doug/vegaspatch/


Signed-off-by:  Doug Leith <redacted>
Applied, thanks a lot Doug.
quoted hunk
--- net/ipv4/tcp_vegas.c.orig	2008-12-04 23:51:19.000000000 +0000
+++ net/ipv4/tcp_vegas.c	2008-12-05 15:04:11.000000000 +0000
I remember asking you to -p1 root your patches last time,
or did I? :-)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help