diff options
Diffstat (limited to 'net/core/dev.c')
-rw-r--r-- | net/core/dev.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 6ca32f6b310..6982bfd6a78 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -134,7 +134,7 @@ | |||
134 | #include <linux/inetdevice.h> | 134 | #include <linux/inetdevice.h> |
135 | #include <linux/cpu_rmap.h> | 135 | #include <linux/cpu_rmap.h> |
136 | #include <linux/net_tstamp.h> | 136 | #include <linux/net_tstamp.h> |
137 | #include <linux/jump_label.h> | 137 | #include <linux/static_key.h> |
138 | #include <net/flow_keys.h> | 138 | #include <net/flow_keys.h> |
139 | 139 | ||
140 | #include "net-sysfs.h" | 140 | #include "net-sysfs.h" |
@@ -1441,11 +1441,11 @@ int call_netdevice_notifiers(unsigned long val, struct net_device *dev) | |||
1441 | } | 1441 | } |
1442 | EXPORT_SYMBOL(call_netdevice_notifiers); | 1442 | EXPORT_SYMBOL(call_netdevice_notifiers); |
1443 | 1443 | ||
1444 | static struct jump_label_key netstamp_needed __read_mostly; | 1444 | static struct static_key netstamp_needed __read_mostly; |
1445 | #ifdef HAVE_JUMP_LABEL | 1445 | #ifdef HAVE_JUMP_LABEL |
1446 | /* We are not allowed to call jump_label_dec() from irq context | 1446 | /* We are not allowed to call static_key_slow_dec() from irq context |
1447 | * If net_disable_timestamp() is called from irq context, defer the | 1447 | * If net_disable_timestamp() is called from irq context, defer the |
1448 | * jump_label_dec() calls. | 1448 | * static_key_slow_dec() calls. |
1449 | */ | 1449 | */ |
1450 | static atomic_t netstamp_needed_deferred; | 1450 | static atomic_t netstamp_needed_deferred; |
1451 | #endif | 1451 | #endif |
@@ -1457,12 +1457,12 @@ void net_enable_timestamp(void) | |||
1457 | 1457 | ||
1458 | if (deferred) { | 1458 | if (deferred) { |
1459 | while (--deferred) | 1459 | while (--deferred) |
1460 | jump_label_dec(&netstamp_needed); | 1460 | static_key_slow_dec(&netstamp_needed); |
1461 | return; | 1461 | return; |
1462 | } | 1462 | } |
1463 | #endif | 1463 | #endif |
1464 | WARN_ON(in_interrupt()); | 1464 | WARN_ON(in_interrupt()); |
1465 | jump_label_inc(&netstamp_needed); | 1465 | static_key_slow_inc(&netstamp_needed); |
1466 | } | 1466 | } |
1467 | EXPORT_SYMBOL(net_enable_timestamp); | 1467 | EXPORT_SYMBOL(net_enable_timestamp); |
1468 | 1468 | ||
@@ -1474,19 +1474,19 @@ void net_disable_timestamp(void) | |||
1474 | return; | 1474 | return; |
1475 | } | 1475 | } |
1476 | #endif | 1476 | #endif |
1477 | jump_label_dec(&netstamp_needed); | 1477 | static_key_slow_dec(&netstamp_needed); |
1478 | } | 1478 | } |
1479 | EXPORT_SYMBOL(net_disable_timestamp); | 1479 | EXPORT_SYMBOL(net_disable_timestamp); |
1480 | 1480 | ||
1481 | static inline void net_timestamp_set(struct sk_buff *skb) | 1481 | static inline void net_timestamp_set(struct sk_buff *skb) |
1482 | { | 1482 | { |
1483 | skb->tstamp.tv64 = 0; | 1483 | skb->tstamp.tv64 = 0; |
1484 | if (static_branch(&netstamp_needed)) | 1484 | if (static_key_false(&netstamp_needed)) |
1485 | __net_timestamp(skb); | 1485 | __net_timestamp(skb); |
1486 | } | 1486 | } |
1487 | 1487 | ||
1488 | #define net_timestamp_check(COND, SKB) \ | 1488 | #define net_timestamp_check(COND, SKB) \ |
1489 | if (static_branch(&netstamp_needed)) { \ | 1489 | if (static_key_false(&netstamp_needed)) { \ |
1490 | if ((COND) && !(SKB)->tstamp.tv64) \ | 1490 | if ((COND) && !(SKB)->tstamp.tv64) \ |
1491 | __net_timestamp(SKB); \ | 1491 | __net_timestamp(SKB); \ |
1492 | } \ | 1492 | } \ |
@@ -2660,7 +2660,7 @@ EXPORT_SYMBOL(__skb_get_rxhash); | |||
2660 | struct rps_sock_flow_table __rcu *rps_sock_flow_table __read_mostly; | 2660 | struct rps_sock_flow_table __rcu *rps_sock_flow_table __read_mostly; |
2661 | EXPORT_SYMBOL(rps_sock_flow_table); | 2661 | EXPORT_SYMBOL(rps_sock_flow_table); |
2662 | 2662 | ||
2663 | struct jump_label_key rps_needed __read_mostly; | 2663 | struct static_key rps_needed __read_mostly; |
2664 | 2664 | ||
2665 | static struct rps_dev_flow * | 2665 | static struct rps_dev_flow * |
2666 | set_rps_cpu(struct net_device *dev, struct sk_buff *skb, | 2666 | set_rps_cpu(struct net_device *dev, struct sk_buff *skb, |
@@ -2945,7 +2945,7 @@ int netif_rx(struct sk_buff *skb) | |||
2945 | 2945 | ||
2946 | trace_netif_rx(skb); | 2946 | trace_netif_rx(skb); |
2947 | #ifdef CONFIG_RPS | 2947 | #ifdef CONFIG_RPS |
2948 | if (static_branch(&rps_needed)) { | 2948 | if (static_key_false(&rps_needed)) { |
2949 | struct rps_dev_flow voidflow, *rflow = &voidflow; | 2949 | struct rps_dev_flow voidflow, *rflow = &voidflow; |
2950 | int cpu; | 2950 | int cpu; |
2951 | 2951 | ||
@@ -3309,7 +3309,7 @@ int netif_receive_skb(struct sk_buff *skb) | |||
3309 | return NET_RX_SUCCESS; | 3309 | return NET_RX_SUCCESS; |
3310 | 3310 | ||
3311 | #ifdef CONFIG_RPS | 3311 | #ifdef CONFIG_RPS |
3312 | if (static_branch(&rps_needed)) { | 3312 | if (static_key_false(&rps_needed)) { |
3313 | struct rps_dev_flow voidflow, *rflow = &voidflow; | 3313 | struct rps_dev_flow voidflow, *rflow = &voidflow; |
3314 | int cpu, ret; | 3314 | int cpu, ret; |
3315 | 3315 | ||