* [PATCH net v4] net: macb: rate limit netdev error info print in the data path
@ 2026-10-07 5:32 taozj888
[not found] ` <DLYI3O7PFN94.V7VH3HSLKEMD@bootlin.com>
0 siblings, 1 reply; 3+ messages in thread
From: taozj888 @ 2026-10-07 5:32 UTC (permalink / raw)
To: theo.lebrun
Cc: taozijin, stable, Conor Dooley, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Jeff Garzik,
Haavard Skinnemoen, open list:NETWORKING DRIVERS, open list
From: taozijin <taozj888@163.com>
Now the MACB ethernet driver print the netdev error information
directly by netdev_err(), which would lead to a large number of
error information print if there was a significant number of
error or just jumbo packets exceeding the MTU received when booting.
For example, it would print a large number of:
macb PHYT0036:00 eth0: not whole frame pointed by descriptor
macb PHYT0036:00 eth0: not whole frame pointed by descriptor
...
in gem_rx() by received a large number of packets without
RX_EOF flag set, especially with unknown packet
type that would penetrate the hardware offload for the IP packets.
The unlimited prints here would greatly bother and delay
the system booting process unless the source stop sending
packets since they occupy the console output bandwidth and
other processes have to wait for the completion of printing those
messages.
So rate limit the netdev error information print in the receive
and transmit data path.
Fixes: 89e5785fc8a6 ("[PATCH] Atmel MACB ethernet driver")
Cc: stable@vger.kernel.org
Signed-off-by: Zijin Tao <taozj888@163.com>
---
Changes since v1:
v4:
- Update the commit message for the target fix id to 89e5785fc8a6
as suggested by Nicolai Buchwitz<nb@tipi-net.de>
- Update the patch with the changelog added in the patch itself
v3:
- add this change log since v2 missing it
- drop the blank line between the assignment sentence and the commit
info
v2:
- update the commit message with the reason why the unlimit prints would
bother/delay booting process
- update the commit message with the Fix commit id provided which is
suggested by Théo Lebrun<theo.lebrun@bootlin.com>
- update the commit message with what packet type would trigger the
error printings more easily.
v1:
- initial commit
drivers/net/ethernet/cadence/macb_main.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
index 8e5c034dc3a4..ca60960bec36 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -1617,16 +1617,16 @@ static int gem_rx(struct macb_queue *queue, struct napi_struct *napi,
count++;
if (!(ctrl & MACB_BIT(RX_SOF) && ctrl & MACB_BIT(RX_EOF))) {
- netdev_err(bp->netdev,
- "not whole frame pointed by descriptor\n");
+ if (net_ratelimit())
+ netdev_err(bp->netdev, "not whole frame pointed by descriptor\n");
bp->netdev->stats.rx_dropped++;
queue->stats.rx_dropped++;
break;
}
skb = queue->rx_skbuff[entry];
if (unlikely(!skb)) {
- netdev_err(bp->netdev,
- "inconsistent Rx descriptor chain\n");
+ if (net_ratelimit())
+ netdev_err(bp->netdev, "inconsistent Rx descriptor chain\n");
bp->netdev->stats.rx_dropped++;
queue->stats.rx_dropped++;
break;
@@ -1829,7 +1829,8 @@ static int macb_rx(struct macb_queue *queue, struct napi_struct *napi,
unsigned long flags;
u32 ctrl;
- netdev_err(bp->netdev, "RX queue corruption: reset it\n");
+ if (net_ratelimit())
+ netdev_err(bp->netdev, "RX queue corruption: reset it\n");
spin_lock_irqsave(&bp->lock, flags);
@@ -2102,7 +2103,8 @@ static int macb_interrupt_misc(struct macb_queue *queue, u32 status)
if (status & MACB_BIT(HRESP)) {
queue_work(system_bh_wq, &bp->hresp_err_bh_work);
- netdev_err(netdev, "DMA bus error: HRESP not OK\n");
+ if (net_ratelimit())
+ netdev_err(netdev, "DMA bus error: HRESP not OK\n");
macb_queue_isr_clear(bp, queue, MACB_BIT(HRESP));
}
--
2.34.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re:Re: [PATCH net v4] net: macb: rate limit netdev error info print in the data path
[not found] ` <DLYI3O7PFN94.V7VH3HSLKEMD@bootlin.com>
@ 2026-10-08 3:30 ` taozj888
2026-10-08 12:59 ` Théo Lebrun
0 siblings, 1 reply; 3+ messages in thread
From: taozj888 @ 2026-10-08 3:30 UTC (permalink / raw)
To: Théo Lebrun
Cc: stable, Conor Dooley, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Jeff Garzik, Haavard Skinnemoen,
open list:NETWORKING DRIVERS, open list
Hi Theo:
Please see my comments inline.
Thanks,
Zijin Tao
At 2026-10-07 17:33:03, "Théo Lebrun" <theo.lebrun@bootlin.com> wrote:
>Hello taozj888,
>
>I was reviewing your patch but you sent V4 at the same time!
>
>On Wed Oct 7, 2026 at 7:32 AM CEST, wrote:
>> From: taozijin <taozj888@163.com>
>
>We need full names in kernel patches, you have that in your
>Signed-off-by.
>
>> Now the MACB ethernet driver print the netdev error information
>> directly by netdev_err(), which would lead to a large number of
>> error information print if there was a significant number of
>> error or just jumbo packets exceeding the MTU received when booting.
>> For example, it would print a large number of:
>>
>> macb PHYT0036:00 eth0: not whole frame pointed by descriptor
>> macb PHYT0036:00 eth0: not whole frame pointed by descriptor
>> ...
>>
>> in gem_rx() by received a large number of packets without
>> RX_EOF flag set, especially with unknown packet
>> type that would penetrate the hardware offload for the IP packets.
>>
>> The unlimited prints here would greatly bother and delay
>> the system booting process unless the source stop sending
>> packets since they occupy the console output bandwidth and
>> other processes have to wait for the completion of printing those
>> messages.
>>
>> So rate limit the netdev error information print in the receive
>> and transmit data path.
>>
>> Fixes: 89e5785fc8a6 ("[PATCH] Atmel MACB ethernet driver")
>> Cc: stable@vger.kernel.org
>
>What happened? This doesn't match your discussion with Nicolai.
>https://lore.kernel.org/netdev/3e1515e162d084e2200eeaa6074bfbaf@tipi-net.de/
@Theo, in the link that you provided, Nicolai suggested to use the commit id
"4df95131ea80", and the original text is quoted below:
"
>>>> Fixes: 89e5785fc8a6 ("[PATCH] Atmel MACB ethernet driver")
>>>
>>> IMHO the correct tag is 4df95131ea80 ("net/macb: change RX path for
>>> GEM")?
>>> At least the gem_rx() messages were introduced here.
>>
>> The patch used to touch macb_start_xmit(), which explains why I told
>> Zijin to target the initial commit on previous revision.
>>
> OK, I will still use the initial commit indicated by Theo.
Please re-read Théo's reply: he only suggested the initial
because v1 also touched macb_start_xmit(). v2 doesn't anymore,
89e5785fc8a6 is no longer the right target. Please use:
Fixes: 4df95131ea80 ("net/macb: change RX path for GEM")
"
So I changed the commit id from "89e5785fc8a6" to "4df95131ea80"
in the v4 patch, and somebody suggested to set the changelog just
in the patch below its "---" part if there is only just 1 patch, but
not in the cover-letter, so I added the changlog in the v4 patch.
If you didn't agree the changes in the v4 patch I would like to just abandon
it, or I will send a v5 patch to restore to the contents of the v3 patch with
the changelog added in the patch itself.
For the autorship, I would like to use the "Zijin Tao <taozj888@163.com>" for all
parts in the patch (for the signed-off-by and From).
>
>TLDR, because those threads are a mess:
> - why drop start_xmit diff?
> - fix your patch autorship
> - check your changelog!
> - check your fixes!
>
>Thanks,
>
>--
>Théo Lebrun, Bootlin
>Embedded Linux and Kernel engineering
>https://bootlin.com
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH net v4] net: macb: rate limit netdev error info print in the data path
2026-10-08 3:30 ` taozj888
@ 2026-10-08 12:59 ` Théo Lebrun
0 siblings, 0 replies; 3+ messages in thread
From: Théo Lebrun @ 2026-10-08 12:59 UTC (permalink / raw)
To: taozj888
Cc: stable, Conor Dooley, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Jeff Garzik, Haavard Skinnemoen,
open list:NETWORKING DRIVERS, open list
Hello Zijin,
- I'll stop replying inline because you seem to be having issues with
your mailer. Please fix it to ease the discussion.
See here how your email looks:
https://lore.kernel.org/netdev/63731290.3f0c.1a1198fe993.Coremail.taozj888@163.com/
- Your V4 commit message says "Fixes: 89e5785fc8a6" but that is wrong
with the current patch, it shold use 4df95131ea80. I don't
understand why you are talking about the changelog at the same time,
this is unrelated.
- You skipped over explaining why your dropped the start_xmit diff.
I'll have to stop reviewing if you skip over parts of the messages.
I gave you a TLDR and you skipped over the first bulletpoint.
Thanks,
--
Théo Lebrun, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-10-08 13:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-07 5:32 [PATCH net v4] net: macb: rate limit netdev error info print in the data path taozj888
[not found] ` <DLYI3O7PFN94.V7VH3HSLKEMD@bootlin.com>
2026-10-08 3:30 ` taozj888
2026-10-08 12:59 ` Théo Lebrun
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®