Commit 37202283 authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller

tcp: do not set rtt_min to 1

There are some cases where rtt_us derives from deltas of jiffies,
instead of using usec timestamps.

Since we want to track minimal rtt, better to assume a delta of 0 jiffie
might be in fact be very close to 1 jiffie.

It is kind of sad jiffies_to_usecs(1) calls a function instead of simply
using a constant.

Fixes: f6722583 ("tcp: track min RTT using windowed min-filter")
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarNeal Cardwell <ncardwell@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6c5d89a3
...@@ -2896,7 +2896,10 @@ static void tcp_update_rtt_min(struct sock *sk, u32 rtt_us) ...@@ -2896,7 +2896,10 @@ static void tcp_update_rtt_min(struct sock *sk, u32 rtt_us)
{ {
const u32 now = tcp_time_stamp, wlen = sysctl_tcp_min_rtt_wlen * HZ; const u32 now = tcp_time_stamp, wlen = sysctl_tcp_min_rtt_wlen * HZ;
struct rtt_meas *m = tcp_sk(sk)->rtt_min; struct rtt_meas *m = tcp_sk(sk)->rtt_min;
struct rtt_meas rttm = { .rtt = (rtt_us ? : 1), .ts = now }; struct rtt_meas rttm = {
.rtt = likely(rtt_us) ? rtt_us : jiffies_to_usecs(1),
.ts = now,
};
u32 elapsed; u32 elapsed;
/* Check if the new measurement updates the 1st, 2nd, or 3rd choices */ /* Check if the new measurement updates the 1st, 2nd, or 3rd choices */
......
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