diff options
author | Eric Dumazet <edumazet@google.com> | 2019-03-22 09:26:29 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-03-23 21:43:21 -0400 |
commit | e6d1407013a91722ffc89e980d715eb9ce7b57f6 (patch) | |
tree | 2db96af75038ab5fbcc8010c0f060fab98dd906d /net/ipv4/tcp_output.c | |
parent | a7a01ab312601ba5966ec80383e6bbef241d883f (diff) |
tcp: remove conditional branches from tcp_mstamp_refresh()
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>
Diffstat (limited to 'net/ipv4/tcp_output.c')
-rw-r--r-- | net/ipv4/tcp_output.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 4522579aaca2..e265d1aeeb66 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c | |||
@@ -52,12 +52,8 @@ void tcp_mstamp_refresh(struct tcp_sock *tp) | |||
52 | { | 52 | { |
53 | u64 val = tcp_clock_ns(); | 53 | u64 val = tcp_clock_ns(); |
54 | 54 | ||
55 | if (val > tp->tcp_clock_cache) | 55 | tp->tcp_clock_cache = val; |
56 | tp->tcp_clock_cache = val; | 56 | tp->tcp_mstamp = div_u64(val, NSEC_PER_USEC); |
57 | |||
58 | val = div_u64(val, NSEC_PER_USEC); | ||
59 | if (val > tp->tcp_mstamp) | ||
60 | tp->tcp_mstamp = val; | ||
61 | } | 57 | } |
62 | 58 | ||
63 | static bool tcp_write_xmit(struct sock *sk, unsigned int mss_now, int nonagle, | 59 | static bool tcp_write_xmit(struct sock *sk, unsigned int mss_now, int nonagle, |