Commit febf0819 authored by stephen hemminger's avatar stephen hemminger Committed by David S. Miller

tcp: fix RTT for quick packets in congestion control

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: default avatarStephen Hemminger <shemminger@vyatta.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a23c37f1
...@@ -3350,7 +3350,7 @@ static int tcp_clean_rtx_queue(struct sock *sk, int prior_fackets, ...@@ -3350,7 +3350,7 @@ static int tcp_clean_rtx_queue(struct sock *sk, int prior_fackets,
net_invalid_timestamp())) net_invalid_timestamp()))
rtt_us = ktime_us_delta(ktime_get_real(), rtt_us = ktime_us_delta(ktime_get_real(),
last_ackt); last_ackt);
else if (ca_seq_rtt > 0) else if (ca_seq_rtt >= 0)
rtt_us = jiffies_to_usecs(ca_seq_rtt); rtt_us = jiffies_to_usecs(ca_seq_rtt);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment