From: stigge@antcom.de (Roland Stigge)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] net: lpc_eth: Replace WARN() trace with simple pr_warn()
Date: Mon, 11 Jun 2012 10:36:45 +0200 [thread overview]
Message-ID: <4FD5AE1D.9030807@antcom.de> (raw)
In-Reply-To: <1339403108.6001.1697.camel@edumazet-glaptop>
Hi Dave and Eric,
thanks for your feedback!
On 06/11/2012 10:25 AM, Eric Dumazet wrote:
> On Mon, 2012-06-11 at 10:03 +0200, Roland Stigge wrote:
>> A WARN() trace indicating a "BUG!" was identified as a "normal" case in the
>> xmit function in case all TX descriptors are occupied already. In this case,
>> NETDEV_TX_BUSY is returned, nothing buggy at all.
>>
>> Signed-off-by: Roland Stigge <stigge@antcom.de>
>> Tested-by: Alexandre Pereira da Silva <aletes.xgr@gmail.com>
>>
>> ---
>> drivers/net/ethernet/nxp/lpc_eth.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> --- linux-2.6.orig/drivers/net/ethernet/nxp/lpc_eth.c
>> +++ linux-2.6/drivers/net/ethernet/nxp/lpc_eth.c
>> @@ -1114,7 +1114,7 @@ static int lpc_eth_hard_start_xmit(struc
>> buffers */
>> netif_stop_queue(ndev);
>> spin_unlock_irq(&pldat->lock);
>> - WARN(1, "BUG! TX request when no free TX buffers!\n");
>> + pr_warn("Note: TX request when no free TX buffers.\n");
>> return NETDEV_TX_BUSY;
>> }
>>
>
> Entering this path is a bug, don't hide it...
>
> Please share with us how this bug was identified as a "normal case" ?
I encountered cases where this happened for me on a custom board under
heavy load.
I discussed this with Kevin Wells, the original driver author. We
identified the case of xmit()'s TX request (from .ndo_start_xmit) with
full TX driver buffers as valid when ethernet is busy.
But maybe this is wrong. Can you please give me a hint how the net
subsystem makes sure that this doesn't happen under normal circumstances?
Thanks in advance!
Roland
WARNING: multiple messages have this Message-ID (diff)
From: Roland Stigge <stigge@antcom.de>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: davem@davemloft.net, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, kevin.wells@nxp.com,
srinivas.bakki@nxp.com, aletes.xgr@gmail.com,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 1/3] net: lpc_eth: Replace WARN() trace with simple pr_warn()
Date: Mon, 11 Jun 2012 10:36:45 +0200 [thread overview]
Message-ID: <4FD5AE1D.9030807@antcom.de> (raw)
In-Reply-To: <1339403108.6001.1697.camel@edumazet-glaptop>
Hi Dave and Eric,
thanks for your feedback!
On 06/11/2012 10:25 AM, Eric Dumazet wrote:
> On Mon, 2012-06-11 at 10:03 +0200, Roland Stigge wrote:
>> A WARN() trace indicating a "BUG!" was identified as a "normal" case in the
>> xmit function in case all TX descriptors are occupied already. In this case,
>> NETDEV_TX_BUSY is returned, nothing buggy at all.
>>
>> Signed-off-by: Roland Stigge <stigge@antcom.de>
>> Tested-by: Alexandre Pereira da Silva <aletes.xgr@gmail.com>
>>
>> ---
>> drivers/net/ethernet/nxp/lpc_eth.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> --- linux-2.6.orig/drivers/net/ethernet/nxp/lpc_eth.c
>> +++ linux-2.6/drivers/net/ethernet/nxp/lpc_eth.c
>> @@ -1114,7 +1114,7 @@ static int lpc_eth_hard_start_xmit(struc
>> buffers */
>> netif_stop_queue(ndev);
>> spin_unlock_irq(&pldat->lock);
>> - WARN(1, "BUG! TX request when no free TX buffers!\n");
>> + pr_warn("Note: TX request when no free TX buffers.\n");
>> return NETDEV_TX_BUSY;
>> }
>>
>
> Entering this path is a bug, don't hide it...
>
> Please share with us how this bug was identified as a "normal case" ?
I encountered cases where this happened for me on a custom board under
heavy load.
I discussed this with Kevin Wells, the original driver author. We
identified the case of xmit()'s TX request (from .ndo_start_xmit) with
full TX driver buffers as valid when ethernet is busy.
But maybe this is wrong. Can you please give me a hint how the net
subsystem makes sure that this doesn't happen under normal circumstances?
Thanks in advance!
Roland
next prev parent reply other threads:[~2012-06-11 8:36 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-11 8:03 [PATCH 1/3] net: lpc_eth: Replace WARN() trace with simple pr_warn() Roland Stigge
2012-06-11 8:03 ` Roland Stigge
2012-06-11 8:03 ` [PATCH 2/3] net: lpc_eth: Increase number of TX descriptors Roland Stigge
2012-06-11 8:03 ` Roland Stigge
2012-06-11 8:11 ` David Miller
2012-06-11 8:11 ` David Miller
2012-06-11 8:21 ` Eric Dumazet
2012-06-11 8:21 ` Eric Dumazet
2012-06-11 8:03 ` [PATCH 3/3] net: lpc_eth: Driver cleanup Roland Stigge
2012-06-11 8:03 ` Roland Stigge
2012-06-11 8:10 ` [PATCH 1/3] net: lpc_eth: Replace WARN() trace with simple pr_warn() David Miller
2012-06-11 8:10 ` David Miller
2012-06-11 8:25 ` Eric Dumazet
2012-06-11 8:25 ` Eric Dumazet
2012-06-11 8:36 ` Roland Stigge [this message]
2012-06-11 8:36 ` Roland Stigge
2012-06-11 8:53 ` Eric Dumazet
2012-06-11 8:53 ` Eric Dumazet
2012-06-11 17:21 ` [PATCH] net: lpc_eth: fix tx completion Eric Dumazet
2012-06-11 17:21 ` Eric Dumazet
2012-06-11 18:58 ` Roland Stigge
2012-06-11 18:58 ` Roland Stigge
2012-06-11 20:13 ` David Miller
2012-06-11 20:13 ` David Miller
2012-06-11 9:03 ` [PATCH 1/3] net: lpc_eth: Replace WARN() trace with simple pr_warn() David Miller
2012-06-11 9:03 ` David Miller
2012-06-11 9:26 ` Roland Stigge
2012-06-11 9:26 ` Roland Stigge
2012-06-11 19:18 ` Eric Dumazet
2012-06-11 19:18 ` Eric Dumazet
2012-06-13 6:16 ` Eric Dumazet
2012-06-13 6:16 ` Eric Dumazet
2012-06-13 9:28 ` Roland Stigge
2012-06-13 9:28 ` Roland Stigge
2012-06-13 9:58 ` [PATCH net-next] net: lpc_eth: free skbs in start_xmit Eric Dumazet
2012-06-13 9:58 ` Eric Dumazet
2012-06-17 23:28 ` David Miller
2012-06-17 23:28 ` David Miller
2012-06-11 8:39 ` [PATCH 1/3] net: lpc_eth: Replace WARN() trace with simple pr_warn() Eric Dumazet
2012-06-11 8:39 ` Eric Dumazet
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FD5AE1D.9030807@antcom.de \
--to=stigge@antcom.de \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.