RE: [Intel-wired-lan] [PATCH net v2 3/3] net: stmmac: skip queueMaxSDU check for AF_XDP
From: Loktionov, Aleksandr <hidden>
Date: 2026-08-18 10:38:05
Also in:
bpf, intel-wired-lan, linux-arm-kernel, linux-rdma, lkml
-----Original Message-----
From: Intel-wired-lan <redacted> On Behalf
Of Stanislav Fomichev
Sent: Thursday, August 13, 2026 9:08 PM
To: netdev@vger.kernel.org
Cc: davem@davemloft.net; edumazet@google.com; kuba@kernel.org;
pabeni@redhat.com; Nguyen, Anthony L [off-list ref];
Kitszel, Przemyslaw [off-list ref];
andrew+netdev@lunn.ch; saeedm@nvidia.com; tariqt@nvidia.com;
mbloch@nvidia.com; maxime.chevallier@bootlin.com;
mcoquelin.stm32@gmail.com; alexandre.torgue@foss.st.com; Lobakin,
Aleksander [off-list ref]; horms@kernel.org; Karlsson,
Magnus [off-list ref]; Fijalkowski, Maciej
[off-list ref]; sdf@fomichev.me; ast@kernel.org;
daniel@iogearbox.net; hawk@kernel.org; john.fastabend@gmail.com;
witu@nvidia.com; martin.lau@kernel.org; Song, Yoong Siang
[off-list ref]; G Thomas, Rohan
[off-list ref]; intel-wired-lan@lists.osuosl.org; linux-
kernel@vger.kernel.org; linux-rdma@vger.kernel.org; linux-stm32@st-md-
mailman.stormreply.com; linux-arm-kernel@lists.infradead.org;
bpf@vger.kernel.org; leon@kernel.org
Subject: [Intel-wired-lan] [PATCH net v2 3/3] net: stmmac: skip
queueMaxSDU check for AF_XDP
Commit c5c3e1bfc9e0 ("net: stmmac: Offload queueMaxSDU from tc-
taprio") was inspired by commit 92a0dcb8427d ("igc: offload queue max
SDU from tc-taprio"), but the igc change does not apply the check to
AF_XDP.
xsk_tx_peek_desc() reserves a completion entry. Continuing without
queuing or completing the descriptor leaves the AF_XDP rings
imbalanced, so remove the check from the zero-copy path.
The assumptions is that AF_XDP zero-copy traffic bypasses the qdisc,' The assumptions is' -> ' The assumption is' Reviewed-by: Aleksandr Loktionov <redacted>
quoted hunk ↗ jump to hunk
so taprio's queueMaxSDU check does not apply to this path. Fixes: c5c3e1bfc9e0 ("net: stmmac: Offload queueMaxSDU from tc- taprio") Signed-off-by: Stanislav Fomichev <sdf@fomichev.me> --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 ------- 1 file changed, 7 deletions(-)diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.cb/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 62de03e65a90..4a82f4351303 100644--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c@@ -2710,13 +2710,6 @@ static bool stmmac_xdp_xmit_zc(structstmmac_priv *priv, u32 queue, u32 budget) if (!xsk_tx_peek_desc(pool, &xdp_desc)) break; - if (priv->est && priv->est->enable && - priv->est->max_sdu[queue] && - xdp_desc.len > priv->est->max_sdu[queue]) { - priv->xstats.max_sdu_txq_drop[queue]++; - continue; - } - tx_desc = stmmac_get_tx_desc(priv, tx_q, entry); dma_addr = xsk_buff_raw_get_dma(pool, xdp_desc.addr); meta = xsk_buff_get_metadata(pool, xdp_desc.addr, -- 2.53.0-Meta