EXPORT_SYMBOL(call_netdevice_notifiers);
 
 #ifdef CONFIG_NET_INGRESS
-static struct static_key ingress_needed __read_mostly;
+static DEFINE_STATIC_KEY_FALSE(ingress_needed_key);
 
 void net_inc_ingress_queue(void)
 {
-       static_key_slow_inc(&ingress_needed);
+       static_branch_inc(&ingress_needed_key);
 }
 EXPORT_SYMBOL_GPL(net_inc_ingress_queue);
 
 void net_dec_ingress_queue(void)
 {
-       static_key_slow_dec(&ingress_needed);
+       static_branch_dec(&ingress_needed_key);
 }
 EXPORT_SYMBOL_GPL(net_dec_ingress_queue);
 #endif
 
 #ifdef CONFIG_NET_EGRESS
-static struct static_key egress_needed __read_mostly;
+static DEFINE_STATIC_KEY_FALSE(egress_needed_key);
 
 void net_inc_egress_queue(void)
 {
-       static_key_slow_inc(&egress_needed);
+       static_branch_inc(&egress_needed_key);
 }
 EXPORT_SYMBOL_GPL(net_inc_egress_queue);
 
 void net_dec_egress_queue(void)
 {
-       static_key_slow_dec(&egress_needed);
+       static_branch_dec(&egress_needed_key);
 }
 EXPORT_SYMBOL_GPL(net_dec_egress_queue);
 #endif
 #ifdef CONFIG_NET_CLS_ACT
        skb->tc_at_ingress = 0;
 # ifdef CONFIG_NET_EGRESS
-       if (static_key_false(&egress_needed)) {
+       if (static_branch_unlikely(&egress_needed_key)) {
                skb = sch_handle_egress(skb, &rc, dev);
                if (!skb)
                        goto out;
 
 skip_taps:
 #ifdef CONFIG_NET_INGRESS
-       if (static_key_false(&ingress_needed)) {
+       if (static_branch_unlikely(&ingress_needed_key)) {
                skb = sch_handle_ingress(skb, &pt_prev, &ret, orig_dev);
                if (!skb)
                        goto out;