net: bcmgenet: suppress warnings on failed Rx SKB allocations
authorDoug Berger <opendmb@gmail.com>
Thu, 23 Apr 2020 23:02:11 +0000 (16:02 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 Apr 2020 23:50:01 +0000 (16:50 -0700)
The driver is designed to drop Rx packets and reclaim the buffers
when an allocation fails, and the network interface needs to safely
handle this packet loss. Therefore, an allocation failure of Rx
SKBs is relatively benign.

However, the output of the warning message occurs with a high
scheduling priority that can cause excessive jitter/latency for
other high priority processing.

This commit suppresses the warning messages to prevent scheduling
problems while retaining the failure count in the statistics of
the network interface.

Signed-off-by: Doug Berger <opendmb@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/genet/bcmgenet.c

index c4765bbe527b064d87dec0dab820344ac31b1c84..79636c78127cdb503403f14994ae488af3d34bae 100644 (file)
@@ -1624,7 +1624,8 @@ static struct sk_buff *bcmgenet_rx_refill(struct bcmgenet_priv *priv,
        dma_addr_t mapping;
 
        /* Allocate a new Rx skb */
-       skb = netdev_alloc_skb(priv->dev, priv->rx_buf_len + SKB_ALIGNMENT);
+       skb = __netdev_alloc_skb(priv->dev, priv->rx_buf_len + SKB_ALIGNMENT,
+                                GFP_ATOMIC | __GFP_NOWARN);
        if (!skb) {
                priv->mib.alloc_rx_buff_failed++;
                netif_err(priv, rx_err, priv->dev,