diff options
| author | Christoffer Dall <christoffer.dall@linaro.org> | 2013-10-17 20:40:08 -0700 |
|---|---|---|
| committer | Christoffer Dall <christoffer.dall@linaro.org> | 2013-10-17 20:40:08 -0700 |
| commit | 2f8d01a1475cfede058c6a92b5d3dad576da2827 (patch) | |
| tree | e004311de4c4c4075e91ca317a19983e2a612209 /net/ipv4/tcp_metrics.c | |
| parent | 82ea046c95a3c3ddcfa058c8a270b9afb6e93700 (diff) | |
| parent | d570142674890fe10b3d7d86aa105e3dfce1ddfa (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.c | 4 |
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, |
