From: Lorenzo Bianconi <lorenzo.bianconi@oss.qualcomm.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: Maxime Chevallier <maxime.chevallier@bootlin.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH net-next v2] net: stmmac: improve TSO/GSO queue selection
Date: Mon, 17 Aug 2026 21:21:49 +0200 [thread overview]
Message-ID: <aoNfTZbXWCQFjtsn@lore-qca> (raw)
In-Reply-To: <20260817094140.0e92f54c@kernel.org>
[-- Attachment #1: Type: text/plain, Size: 3006 bytes --]
On Aug 17, Jakub Kicinski wrote:
> On Mon, 17 Aug 2026 04:22:37 +0200 Lorenzo Bianconi wrote:
> > > > thx for the pointers. I reviewed Russell's commits and I guess we have two
> > > > options here:
> > > >
> > > > - manages all the TSO/GSO checks in ndo_features_check() (stmmac_features_check())
> > > > and disable TSO/GSO if the selected queue does not support checksum offload
> > > > or it has TBS enabled. In this case I guess we can drop ndo_select_queue()
> > > > callback completely (it does not make sense to me to always use queue 0 for
> > > > TSO/GSO packets, e.g. it does not allow proper mqprio offload).
> > > > Please note this approach would introduce some performance regressions with
> > > > respect of the previous implementation.
> > > > - implements TSO/GSO checks in ndo_select_queue() callback
> > > > (stmmac_select_queue()) in order to keep TSO/GSO enabled if the selected
> > > > queue supports it and at the same time do not always use queue 0 for TSO/GSO
> > > > packets (proper qdisc offload). Please note this is patch I am proposing.
> > > >
> > > > What do you think?
> > >
> > > I don't know this driver, or how it's used.
> > >
> > > From the commit message it sounds like "if the packet wants TSO and
> > > the queue has a scheduler enabled - take the packet to another queue".
> > > Presumably you know why the TBS is enabled and whether the packet
> > > should or should not be going to that queue in the first place if
> > > you're sending the patch? What is the use case?
> >
> > Reviewing the driver codebase, TBS and TSO can't be enabled at the same time
> > for a specific queue (TBS is not enabled via DTS but it is hardcoded in the
> > driver). Moreover, for some devices (e.g. dwmac-intel, dwmac-mediatek, ecc.)
> > TBS is enabled at bootstrap for Q1, Q2 .. Qn, (Q0 is never a TBS queue) while
> > for others (e.g. dwmac-stm32, dwmac-sunxi, ecc.) TBS is not enabled at all.
> > The current codebase forces TSO/GSO packets to Q0 (since the current driver
> > guarantees Q0 is a TSO queue). However this approach does not work with qdisc
> > offload (e.g. mqprio).
> > I think it is clean to just move the TSO logic in ndo_features_check() and drop
> > ndo_select_queue() (previous option 1) but I guess this could introduce a
> > performance regression with respect to the current codebase (we could disable TSO).
> > If we move the TSO logic in ndo_select_queue() (previous option 2), we could avoid
> > forcing the TSO/GSO traffic to Q0 if the selected queue supports it and
> > at the same time avoid any performance regression with respect to the current
> > driver.
>
> Sounds like we don't have a clear understanding of the Intel / TBS use.
> I'd rather risk introducing a regression for them, and have someone who
> actually knows this system help with the fix than accumulate
> incompatible workarounds.
ack, I am fine with that. I will fix it in v3.
Regards,
Lorenzo
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
prev parent reply other threads:[~2026-08-17 19:21 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-08 17:22 [PATCH net-next v2] net: stmmac: improve TSO/GSO queue selection Lorenzo Bianconi
2026-08-12 16:11 ` Lorenzo Bianconi
2026-08-12 23:10 ` Jakub Kicinski
2026-08-13 20:36 ` Lorenzo Bianconi
2026-08-14 0:21 ` Jakub Kicinski
2026-08-17 2:22 ` Lorenzo Bianconi
2026-08-17 16:41 ` Jakub Kicinski
2026-08-17 19:21 ` Lorenzo Bianconi [this message]
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=aoNfTZbXWCQFjtsn@lore-qca \
--to=lorenzo.bianconi@oss.qualcomm.com \
--cc=alexandre.torgue@foss.st.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=maxime.chevallier@bootlin.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/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.