diff options
author | Eric Dumazet <edumazet@google.com> | 2017-12-06 11:08:19 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-12-17 15:07:58 +0100 |
commit | 91c5e6553af065f30390a76bf0556672d6cbb6ab (patch) | |
tree | 8846d3ade5654ac15ff8d9770e137100363b8075 /net | |
parent | de514e0609ea1fcf1f70faf427ec9b693d007f8b (diff) | |
download | linux-rpi3-91c5e6553af065f30390a76bf0556672d6cbb6ab.tar.gz linux-rpi3-91c5e6553af065f30390a76bf0556672d6cbb6ab.tar.bz2 linux-rpi3-91c5e6553af065f30390a76bf0556672d6cbb6ab.zip |
tcp: use current time in tcp_rcv_space_adjust()
[ Upstream commit 8632385022f2b05a6ca0b9e0f95575865de0e2ce ]
When I switched rcv_rtt_est to high resolution timestamps, I forgot
that tp->tcp_mstamp needed to be refreshed in tcp_rcv_space_adjust()
Using an old timestamp leads to autotuning lags.
Fixes: 645f4c6f2ebd ("tcp: switch rcv_rtt_est and rcvq_space to high resolution timestamps")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Wei Wang <weiwan@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/tcp_input.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index b6bb3cdfad09..4b10e79210aa 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -592,6 +592,7 @@ void tcp_rcv_space_adjust(struct sock *sk) int time; int copied; + tcp_mstamp_refresh(tp); time = tcp_stamp_us_delta(tp->tcp_mstamp, tp->rcvq_space.time); if (time < (tp->rcv_rtt_est.rtt_us >> 3) || tp->rcv_rtt_est.rtt_us == 0) return; |