linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next] net: bcmgenet: suppress warnings on failed Rx SKB allocations
@ 2020-04-23 23:02 Doug Berger
  2020-04-23 23:10 ` Florian Fainelli
  2020-04-24 23:50 ` David Miller
  0 siblings, 2 replies; 4+ messages in thread
From: Doug Berger @ 2020-04-23 23:02 UTC (permalink / raw)
  To: Florian Fainelli, David S. Miller
  Cc: bcm-kernel-feedback-list, netdev, linux-kernel, Doug Berger

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>
---
 drivers/net/ethernet/broadcom/genet/bcmgenet.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index 20aba79becce..bfeff5585f4b 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -1617,7 +1617,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,
-- 
2.7.4


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH net-next] net: bcmgenet: suppress warnings on failed Rx SKB allocations
  2020-04-23 23:02 [PATCH net-next] net: bcmgenet: suppress warnings on failed Rx SKB allocations Doug Berger
@ 2020-04-23 23:10 ` Florian Fainelli
  2020-04-24 23:49   ` David Miller
  2020-04-24 23:50 ` David Miller
  1 sibling, 1 reply; 4+ messages in thread
From: Florian Fainelli @ 2020-04-23 23:10 UTC (permalink / raw)
  To: Doug Berger, David S. Miller
  Cc: bcm-kernel-feedback-list, netdev, linux-kernel



On 4/23/2020 4:02 PM, Doug Berger wrote:
> 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>

It seems to me this should be the default behavior for all network
device drivers, but I am fine with this being a driver decision if
people think differently.

> ---
>  drivers/net/ethernet/broadcom/genet/bcmgenet.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
> index 20aba79becce..bfeff5585f4b 100644
> --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
> +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
> @@ -1617,7 +1617,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,
> 

-- 
Florian

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH net-next] net: bcmgenet: suppress warnings on failed Rx SKB allocations
  2020-04-23 23:10 ` Florian Fainelli
@ 2020-04-24 23:49   ` David Miller
  0 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2020-04-24 23:49 UTC (permalink / raw)
  To: f.fainelli; +Cc: opendmb, bcm-kernel-feedback-list, netdev, linux-kernel

From: Florian Fainelli <f.fainelli@gmail.com>
Date: Thu, 23 Apr 2020 16:10:07 -0700

> It seems to me this should be the default behavior for all network
> device drivers, but I am fine with this being a driver decision if
> people think differently.

Yeah I think the behavior should be consistent and default across
drivers too.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH net-next] net: bcmgenet: suppress warnings on failed Rx SKB allocations
  2020-04-23 23:02 [PATCH net-next] net: bcmgenet: suppress warnings on failed Rx SKB allocations Doug Berger
  2020-04-23 23:10 ` Florian Fainelli
@ 2020-04-24 23:50 ` David Miller
  1 sibling, 0 replies; 4+ messages in thread
From: David Miller @ 2020-04-24 23:50 UTC (permalink / raw)
  To: opendmb; +Cc: f.fainelli, bcm-kernel-feedback-list, netdev, linux-kernel

From: Doug Berger <opendmb@gmail.com>
Date: Thu, 23 Apr 2020 16:02:11 -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>

Applied.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-04-24 23:50 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-23 23:02 [PATCH net-next] net: bcmgenet: suppress warnings on failed Rx SKB allocations Doug Berger
2020-04-23 23:10 ` Florian Fainelli
2020-04-24 23:49   ` David Miller
2020-04-24 23:50 ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).