tcp: hint compiler about sack flows
authorEric Dumazet <edumazet@google.com>
Tue, 27 Nov 2018 22:42:00 +0000 (14:42 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 30 Nov 2018 21:26:53 +0000 (13:26 -0800)
Tell the compiler that most TCP flows are using SACK these days.

There is no need to add the unlikely() clause in tcp_is_reno(),
the compiler is able to infer it.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Acked-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tcp.h

index 63e37dd..0c61bf0 100644 (file)
@@ -1124,7 +1124,7 @@ void tcp_rate_check_app_limited(struct sock *sk);
  */
 static inline int tcp_is_sack(const struct tcp_sock *tp)
 {
-       return tp->rx_opt.sack_ok;
+       return likely(tp->rx_opt.sack_ok);
 }
 
 static inline bool tcp_is_reno(const struct tcp_sock *tp)