virtio_net: use netdev_warn_once to output warn when without enough queues
authorXuan Zhuo <xuanzhuo@linux.alibaba.com>
Sat, 18 Sep 2021 06:06:15 +0000 (14:06 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 19 Sep 2021 11:46:17 +0000 (12:46 +0100)
This warning is output when virtnet does not have enough queues, but it
only needs to be printed once to inform the user of this situation. It
is not necessary to print it every time. If the user loads xdp
frequently, this log appears too much.

Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/virtio_net.c

index 271d38c1d9f80673cf90cf2077461042a5f74179..34f20993ba6b41d99135b07921146fbd5397c537 100644 (file)
@@ -2530,8 +2530,8 @@ static int virtnet_xdp_set(struct net_device *dev, struct bpf_prog *prog,
 
        /* XDP requires extra queues for XDP_TX */
        if (curr_qp + xdp_qp > vi->max_queue_pairs) {
-               netdev_warn(dev, "XDP request %i queues but max is %i. XDP_TX and XDP_REDIRECT will operate in a slower locked tx mode.\n",
-                           curr_qp + xdp_qp, vi->max_queue_pairs);
+               netdev_warn_once(dev, "XDP request %i queues but max is %i. XDP_TX and XDP_REDIRECT will operate in a slower locked tx mode.\n",
+                                curr_qp + xdp_qp, vi->max_queue_pairs);
                xdp_qp = 0;
        }