Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 02786475 authored by Davidlohr Bueso's avatar Davidlohr Bueso Committed by David S. Miller
Browse files

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: default avatarDavidlohr Bueso <dbueso@suse.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 39e83922
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -4154,7 +4154,7 @@ void generic_xdp_tx(struct sk_buff *skb, struct bpf_prog *xdp_prog)
}
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)
{
@@ -4194,7 +4194,7 @@ static int netif_rx_internal(struct sk_buff *skb)

	trace_netif_rx(skb);

	if (static_key_false(&generic_xdp_needed)) {
	if (static_branch_unlikely(&generic_xdp_needed_key)) {
		int ret;

		preempt_disable();
@@ -4726,9 +4726,9 @@ static int generic_xdp_install(struct net_device *dev, struct netdev_bpf *xdp)
			bpf_prog_put(old);

		if (old && !new) {
			static_key_slow_dec(&generic_xdp_needed);
			static_branch_dec(&generic_xdp_needed_key);
		} else if (new && !old) {
			static_key_slow_inc(&generic_xdp_needed);
			static_branch_inc(&generic_xdp_needed_key);
			dev_disable_lro(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))
		return NET_RX_SUCCESS;

	if (static_key_false(&generic_xdp_needed)) {
	if (static_branch_unlikely(&generic_xdp_needed_key)) {
		int ret;

		preempt_disable();