summaryrefslogtreecommitdiff
path: root/net/ipv4/tcp_metrics.c
diff options
context:
space:
mode:
authorChristoffer Dall <christoffer.dall@linaro.org>2013-10-17 20:40:08 -0700
committerChristoffer Dall <christoffer.dall@linaro.org>2013-10-17 20:40:08 -0700
commit2f8d01a1475cfede058c6a92b5d3dad576da2827 (patch)
treee004311de4c4c4075e91ca317a19983e2a612209 /net/ipv4/tcp_metrics.c
parent82ea046c95a3c3ddcfa058c8a270b9afb6e93700 (diff)
parentd570142674890fe10b3d7d86aa105e3dfce1ddfa (diff)
Merge remote-tracking branch 'kvm/next' into kvm-arm-next
Diffstat (limited to 'net/ipv4/tcp_metrics.c')
-rw-r--r--net/ipv4/tcp_metrics.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv4/tcp_metrics.c b/net/ipv4/tcp_metrics.c
index 4a22f3e715df..52f3c6b971d2 100644
--- a/net/ipv4/tcp_metrics.c
+++ b/net/ipv4/tcp_metrics.c
@@ -502,7 +502,9 @@ reset:
* ACKs, wait for troubles.
*/
if (crtt > tp->srtt) {
- inet_csk(sk)->icsk_rto = crtt + max(crtt >> 2, tcp_rto_min(sk));
+ /* Set RTO like tcp_rtt_estimator(), but from cached RTT. */
+ crtt >>= 3;
+ inet_csk(sk)->icsk_rto = crtt + max(2 * crtt, tcp_rto_min(sk));
} else if (tp->srtt == 0) {
/* RFC6298: 5.7 We've failed to get a valid RTT sample from
* 3WHS. This is most likely due to retransmission,