mirror of https://gitee.com/openkylin/linux.git
net: Update generic_xdp_needed static key to modern api
No changes in refcount semantics -- key init is false; replace static_key_slow_inc|dec with static_branch_inc|dec static_key_false with static_branch_unlikely Added a '_key' suffix to generic_xdp_needed, for better self documentation. Signed-off-by: Davidlohr Bueso <dbueso@suse.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
39e8392201
commit
02786475c7
|
@ -4154,7 +4154,7 @@ void generic_xdp_tx(struct sk_buff *skb, struct bpf_prog *xdp_prog)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(generic_xdp_tx);
|
EXPORT_SYMBOL_GPL(generic_xdp_tx);
|
||||||
|
|
||||||
static struct static_key generic_xdp_needed __read_mostly;
|
static DEFINE_STATIC_KEY_FALSE(generic_xdp_needed_key);
|
||||||
|
|
||||||
int do_xdp_generic(struct bpf_prog *xdp_prog, struct sk_buff *skb)
|
int do_xdp_generic(struct bpf_prog *xdp_prog, struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
|
@ -4194,7 +4194,7 @@ static int netif_rx_internal(struct sk_buff *skb)
|
||||||
|
|
||||||
trace_netif_rx(skb);
|
trace_netif_rx(skb);
|
||||||
|
|
||||||
if (static_key_false(&generic_xdp_needed)) {
|
if (static_branch_unlikely(&generic_xdp_needed_key)) {
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
preempt_disable();
|
preempt_disable();
|
||||||
|
@ -4726,9 +4726,9 @@ static int generic_xdp_install(struct net_device *dev, struct netdev_bpf *xdp)
|
||||||
bpf_prog_put(old);
|
bpf_prog_put(old);
|
||||||
|
|
||||||
if (old && !new) {
|
if (old && !new) {
|
||||||
static_key_slow_dec(&generic_xdp_needed);
|
static_branch_dec(&generic_xdp_needed_key);
|
||||||
} else if (new && !old) {
|
} else if (new && !old) {
|
||||||
static_key_slow_inc(&generic_xdp_needed);
|
static_branch_inc(&generic_xdp_needed_key);
|
||||||
dev_disable_lro(dev);
|
dev_disable_lro(dev);
|
||||||
dev_disable_gro_hw(dev);
|
dev_disable_gro_hw(dev);
|
||||||
}
|
}
|
||||||
|
@ -4756,7 +4756,7 @@ static int netif_receive_skb_internal(struct sk_buff *skb)
|
||||||
if (skb_defer_rx_timestamp(skb))
|
if (skb_defer_rx_timestamp(skb))
|
||||||
return NET_RX_SUCCESS;
|
return NET_RX_SUCCESS;
|
||||||
|
|
||||||
if (static_key_false(&generic_xdp_needed)) {
|
if (static_branch_unlikely(&generic_xdp_needed_key)) {
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
preempt_disable();
|
preempt_disable();
|
||||||
|
|
Loading…
Reference in New Issue