tcp: remove conditional branches from tcp_mstamp_refresh()
authorEric Dumazet <edumazet@google.com>
Fri, 22 Mar 2019 13:26:29 +0000 (06:26 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 24 Mar 2019 01:43:21 +0000 (21:43 -0400)
tcp_clock_ns() (aka ktime_get_ns()) is using monotonic clock,
so the checks we had in tcp_mstamp_refresh() are no longer
relevant.

This patch removes cpu stall (when the cache line is not hot)

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_output.c

index 4522579aaca2d24b7be61abac658a3c8cbd2b960..e265d1aeeb66996da3903eef383eaec9a320cce0 100644 (file)
@@ -52,12 +52,8 @@ void tcp_mstamp_refresh(struct tcp_sock *tp)
 {
        u64 val = tcp_clock_ns();
 
-       if (val > tp->tcp_clock_cache)
-               tp->tcp_clock_cache = val;
-
-       val = div_u64(val, NSEC_PER_USEC);
-       if (val > tp->tcp_mstamp)
-               tp->tcp_mstamp = val;
+       tp->tcp_clock_cache = val;
+       tp->tcp_mstamp = div_u64(val, NSEC_PER_USEC);
 }
 
 static bool tcp_write_xmit(struct sock *sk, unsigned int mss_now, int nonagle,