Re: [PATCH] net: stmmac: xgmac2: disable RBUE in default RX interrupt mask
From: Maxime Chevallier
Date: Fri May 29 2026 - 15:19:27 EST
Hi,
On 5/29/26 09:17, muhammad.nazim.amirul.nazle.asmade@xxxxxxxxxx wrote:
From: Nazim Amirul <muhammad.nazim.amirul.nazle.asmade@xxxxxxxxxx>
Enabling the RX Buffer Unavailable (RBUE) interrupt is counterproductive
and can trigger a MAC interrupt storm under heavy RX pressure. When the
DMA runs out of RX descriptors it fires RBUE continuously until software
refills the ring.
However, RBUE is redundant: the normal RX completion interrupt (RIE)
already triggers NAPI, which processes completed descriptors and refills
the ring, causing the DMA to resume. The RBUE handler itself only sets
handle_rx - the same outcome as RIE.
Remove RBUE from XGMAC_DMA_INT_DEFAULT_EN and XGMAC_DMA_INT_DEFAULT_RX
to prevent the interrupt storm while keeping normal RX handling intact.
Fixes: d6ddfacd95c7 ("net: stmmac: Add DMA related callbacks for XGMAC2")
Signed-off-by: Nazim Amirul <muhammad.nazim.amirul.nazle.asmade@xxxxxxxxxx>
We had an opposite discussion about enabling rx buf unavailable
interrupts for other DWMAC versions :
https://lore.kernel.org/netdev/E1wBBaR-0000000GZHR-1dbM@xxxxxxxxxxxxxxxxxxxxxx/
While your patch makes sense, I think it's important to note that it'll
now make the "rx_buf_unav_irq" stat (that we can query from userspace)
stuck at 0 now.
That's a user-visible behaviour change, for a stat that can be useful,
one could consider that a uAPI change...
Do you have some numbers on the perf impact you see when buffer
starvation hits to see what we are gaining/losing here ?
Maxime