Patchwork [1/7] tcp: fix RTT for quick packets in congestion control

login
register
mail settings
Submitter stephen hemminger
Date March 14, 2011, 5:52 p.m.
Message ID <20110314175439.285387215@vyatta.com>
Download mbox | patch
Permalink /patch/86787/
State Accepted
Delegated to: David Miller
Headers show

Comments

stephen hemminger - March 14, 2011, 5:52 p.m.
In the congestion control interface, the callback for each ACK
includes an estimated round trip time in microseconds.
Some algorithms need high resolution (Vegas style) but most only
need jiffie resolution.  If RTT is not accurate (like a retransmission)
-1 is used as a flag value.

When doing coarse resolution if RTT is less than a a jiffie
then 0 should be returned rather than no estimate. Otherwise algorithms
that expect good ack's to trigger slow start (like CUBIC Hystart)
will be confused.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>



--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

--- a/net/ipv4/tcp_input.c	2011-03-14 08:31:35.442834792 -0700
+++ b/net/ipv4/tcp_input.c	2011-03-14 08:31:40.078917049 -0700
@@ -3350,7 +3350,7 @@  static int tcp_clean_rtx_queue(struct so
 						 net_invalid_timestamp()))
 					rtt_us = ktime_us_delta(ktime_get_real(),
 								last_ackt);
-				else if (ca_seq_rtt > 0)
+				else if (ca_seq_rtt >= 0)
 					rtt_us = jiffies_to_usecs(ca_seq_rtt);
 			}