tcp: convert tcp_md5_needed to static_branch API
authorEric Dumazet <edumazet@google.com>
Tue, 26 Feb 2019 17:49:11 +0000 (09:49 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 26 Feb 2019 21:16:03 +0000 (13:16 -0800)
We prefer static_branch_unlikely() over static_key_false() these days.

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

index d66ac76a33d1298e48bb9dcef217beaedc8a7968..68ee02523b873db037aa9d6707edb14592e763fd 100644 (file)
@@ -1558,7 +1558,7 @@ struct tcp_md5sig_key *tcp_v4_md5_lookup(const struct sock *sk,
 
 #ifdef CONFIG_TCP_MD5SIG
 #include <linux/jump_label.h>
-extern struct static_key tcp_md5_needed;
+extern struct static_key_false tcp_md5_needed;
 struct tcp_md5sig_key *__tcp_md5_do_lookup(const struct sock *sk,
                                           const union tcp_md5_addr *addr,
                                           int family);
@@ -1567,7 +1567,7 @@ tcp_md5_do_lookup(const struct sock *sk,
                  const union tcp_md5_addr *addr,
                  int family)
 {
-       if (!static_key_false(&tcp_md5_needed))
+       if (!static_branch_unlikely(&tcp_md5_needed))
                return NULL;
        return __tcp_md5_do_lookup(sk, addr, family);
 }
index e2fa6eb9f81aa0244ea05d99e2870a3d9294673b..ad07dd71063da09843ccfbd3e00d3f41567e1205 100644 (file)
@@ -3699,7 +3699,7 @@ bool tcp_alloc_md5sig_pool(void)
                if (!tcp_md5sig_pool_populated) {
                        __tcp_alloc_md5sig_pool();
                        if (tcp_md5sig_pool_populated)
-                               static_key_slow_inc(&tcp_md5_needed);
+                               static_branch_inc(&tcp_md5_needed);
                }
 
                mutex_unlock(&tcp_md5sig_mutex);
index 4010ae3644f3101d01ee984c21256ca381588a3e..831d844a27ca20b52d590e17cb3eb2b2f8a697ce 100644 (file)
@@ -973,7 +973,7 @@ static void tcp_v4_reqsk_destructor(struct request_sock *req)
  * We need to maintain these in the sk structure.
  */
 
-struct static_key tcp_md5_needed __read_mostly;
+DEFINE_STATIC_KEY_FALSE(tcp_md5_needed);
 EXPORT_SYMBOL(tcp_md5_needed);
 
 /* Find the Key structure for an address.  */
index e72aa0ff5785f177eb28ba8a3e4714997e58f35b..91f5cc5a3f88953da1043d051af9c5971c6006de 100644 (file)
@@ -597,7 +597,7 @@ static unsigned int tcp_syn_options(struct sock *sk, struct sk_buff *skb,
 
        *md5 = NULL;
 #ifdef CONFIG_TCP_MD5SIG
-       if (static_key_false(&tcp_md5_needed) &&
+       if (static_branch_unlikely(&tcp_md5_needed) &&
            rcu_access_pointer(tp->md5sig_info)) {
                *md5 = tp->af_specific->md5_lookup(sk, sk);
                if (*md5) {
@@ -734,7 +734,7 @@ static unsigned int tcp_established_options(struct sock *sk, struct sk_buff *skb
 
        *md5 = NULL;
 #ifdef CONFIG_TCP_MD5SIG
-       if (static_key_false(&tcp_md5_needed) &&
+       if (static_branch_unlikely(&tcp_md5_needed) &&
            rcu_access_pointer(tp->md5sig_info)) {
                *md5 = tp->af_specific->md5_lookup(sk, sk);
                if (*md5) {