[PATCH net] stmmac: Revert "stmmac: align RX buffers"

Subsystems: networking drivers, stmmac ethernet driver, the rest

STALE1811d LANDED

Landed in mainline as 12d125b4574b on 2021-08-20.

3 messages, 2 authors, 2021-08-21 · open the first message on its own page

[PATCH net] stmmac: Revert "stmmac: align RX buffers"

From: Marc Zyngier <maz@kernel.org>
Date: 2021-08-20 18:30:49

This reverts commit a955318fe67e ("stmmac: align RX buffers"),
which breaks at least one platform (Nvidia Jetson-X1), causing
packet corruption. This is 100% reproducible, and reverting
the patch results in a working system again.

Given that it is "only" a performance optimisation, let's
return to a known working configuration until we can have a
good understanding of what is happening here.

Cc: Matteo Croce <redacted>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <redacted>
Cc: Giuseppe Cavallaro <redacted>
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
Link: https://lore.kernel.org/netdev/871r71azjw.wl-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
---
 drivers/net/ethernet/stmicro/stmmac/stmmac.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac.h b/drivers/net/ethernet/stmicro/stmmac/stmmac.h
index fcdb1d20389b..43eead726886 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac.h
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac.h
@@ -339,9 +339,9 @@ static inline bool stmmac_xdp_is_enabled(struct stmmac_priv *priv)
 static inline unsigned int stmmac_rx_offset(struct stmmac_priv *priv)
 {
 	if (stmmac_xdp_is_enabled(priv))
-		return XDP_PACKET_HEADROOM + NET_IP_ALIGN;
+		return XDP_PACKET_HEADROOM;
 
-	return NET_SKB_PAD + NET_IP_ALIGN;
+	return 0;
 }
 
 void stmmac_disable_rx_queue(struct stmmac_priv *priv, u32 queue);
-- 
2.30.2

Re: [PATCH net] stmmac: Revert "stmmac: align RX buffers"

From: Jakub Kicinski <kuba@kernel.org>
Date: 2021-08-20 21:46:14

On Fri, 20 Aug 2021 19:30:02 +0100 Marc Zyngier wrote:
This reverts commit a955318fe67e ("stmmac: align RX buffers"),
which breaks at least one platform (Nvidia Jetson-X1), causing
packet corruption. This is 100% reproducible, and reverting
the patch results in a working system again.

Given that it is "only" a performance optimisation, let's
return to a known working configuration until we can have a
good understanding of what is happening here.
Seems reasonable. Hopefully it wont discourage Matteo from revisiting
the optimization. Applied, thanks!

Re: [PATCH net] stmmac: Revert "stmmac: align RX buffers"

From: Marc Zyngier <maz@kernel.org>
Date: 2021-08-21 09:50:56

On Fri, 20 Aug 2021 22:46:10 +0100,
Jakub Kicinski [off-list ref] wrote:
On Fri, 20 Aug 2021 19:30:02 +0100 Marc Zyngier wrote:
quoted
This reverts commit a955318fe67e ("stmmac: align RX buffers"),
which breaks at least one platform (Nvidia Jetson-X1), causing
packet corruption. This is 100% reproducible, and reverting
the patch results in a working system again.

Given that it is "only" a performance optimisation, let's
return to a known working configuration until we can have a
good understanding of what is happening here.
Seems reasonable. Hopefully it wont discourage Matteo from revisiting
the optimization. Applied, thanks!
That's my hope too. As I pointed out at the end of the towards the end
of the discussion I linked to, this buys us time to work out exactly
where is the gap in our understanding of the buffer allocation for
this particular driver.

Once we clearly understand why it fails on some systems and not some
others (which on its own could cover a multitude of sins), I'd be glad
to see this optimisation brought back in, and I'm willing to help with
it.

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help