From: Tathagat Priyadarshi <tathagat.dpdk@gmail.com>
To: dev@dpdk.org
Cc: Joshua Washington <joshwash@google.com>,
Stephen Hemminger <stephen@networkplumber.org>
Subject: [PATCH v4 00/10] net/gve: fix DQO Tx queue stalls
Date: Fri, 16 Oct 2026 17:45:35 +0000 [thread overview]
Message-ID: <cover.1792170902.git.tathagat.dpdk@gmail.com> (raw)
This series fixes several ways the gve DQO RDA Tx path can stall or
post invalid descriptors: completion handling bugs (1-2), a report
event interval that can starve the ring (3), a stray TSO context
descriptor when completion tags run out (4), a missing cacheline
margin (5), invalid packets blocking the burst (6-8), and missing
device length checks (9-10).
v4:
- Rebased on main; v3 no longer applied after 4a543ae8c8
("net/gve: clean Tx queue directly in DQO") removed txqs next
to the field changed in 3/10. No functional changes.
v3:
- Split the series into one fix per patch, per review feedback.
The code is the same as v2 except where noted below.
- 1/10, 2/10: v2 1/4, split in two. Kept Joshua's Ack.
- 3/10: v2 2/4 without the declaration reordering
(per Joshua Washington) and without ringing the doorbell on each
report event, which is a performance change to be sent separately
with numbers (per Stephen Hemminger).
- 4/10: the completion tag reorder from v2 2/4, as its own patch.
Fixes tag now points at the commit that made the tag pop fallible.
- 5/10: v2 3/4, unchanged. Kept Joshua's Ack.
- 6/10-10/10: v2 4/4, split:
* Keep too_many_descs and add per-reason invalid_mbufs and
invalid_pkts counters instead of a generic dropped_pkts
(per Joshua Washington), and export them as xstats
(per Stephen Hemminger).
* Count sent packets after writing descriptors instead of
subtracting drops (per Joshua Washington).
* Move the length and TSO header checks into gve_tx_validate_pkt(),
leaving gve_tx_validate_descs() to descriptor counts, without
the declaration moves.
* Reword the TSO length limit (per Stephen Hemminger) and shorten
the commit messages.
- Stephen's Reviewed-by on v2 is not carried over because of the
rework.
Tathagat Priyadarshi (10):
net/gve: fix DQO descriptor cleaning loop bound
net/gve: fix DQO completion queue stall on unknown type
net/gve: fix DQO Tx report event interval
net/gve: fix stray TSO context descriptor on tag exhaustion
net/gve: add cacheline overlap margin to DQO Tx ring
net/gve: fix Tx stall on invalid packets
net/gve: export Tx drop counters in xstats
net/gve: reject Tx packets that cannot fit in the ring
net/gve: enforce DQO Tx packet length limits
net/gve: enforce DQO TSO header and length limits
drivers/net/gve/base/gve_desc_dqo.h | 3 +
drivers/net/gve/gve_ethdev.c | 3 +
drivers/net/gve/gve_ethdev.h | 4 +-
drivers/net/gve/gve_tx_dqo.c | 113 +++++++++++++++++++++-------
4 files changed, 96 insertions(+), 27 deletions(-)
--
2.43.0
next reply other threads:[~2026-10-19 11:47 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-16 17:45 Tathagat Priyadarshi [this message]
2026-10-16 17:45 ` [PATCH v4 01/10] net/gve: fix DQO descriptor cleaning loop bound Tathagat Priyadarshi
2026-10-16 17:45 ` [PATCH v4 02/10] net/gve: fix DQO completion queue stall on unknown type Tathagat Priyadarshi
2026-10-16 17:45 ` [PATCH v4 03/10] net/gve: fix DQO Tx report event interval Tathagat Priyadarshi
2026-10-16 17:45 ` [PATCH v4 04/10] net/gve: fix stray TSO context descriptor on tag exhaustion Tathagat Priyadarshi
2026-10-16 17:45 ` [PATCH v4 05/10] net/gve: add cacheline overlap margin to DQO Tx ring Tathagat Priyadarshi
2026-10-16 17:45 ` [PATCH v4 06/10] net/gve: fix Tx stall on invalid packets Tathagat Priyadarshi
2026-10-16 17:45 ` [PATCH v4 07/10] net/gve: export Tx drop counters in xstats Tathagat Priyadarshi
2026-10-16 18:18 ` Joshua Washington
2026-10-16 17:45 ` [PATCH v4 08/10] net/gve: reject Tx packets that cannot fit in the ring Tathagat Priyadarshi
2026-10-16 18:18 ` Joshua Washington
2026-10-16 17:45 ` [PATCH v4 09/10] net/gve: enforce DQO Tx packet length limits Tathagat Priyadarshi
2026-10-16 18:22 ` Joshua Washington
2026-10-18 7:54 ` Tathagat Priyadarshi
2026-10-19 16:55 ` Stephen Hemminger
2026-10-19 17:35 ` Joshua Washington
2026-10-20 6:13 ` Tathagat Priyadarshi
2026-10-16 17:45 ` [PATCH v4 10/10] net/gve: enforce DQO TSO header and " Tathagat Priyadarshi
2026-10-16 18:33 ` Joshua Washington
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=cover.1792170902.git.tathagat.dpdk@gmail.com \
--to=tathagat.dpdk@gmail.com \
--cc=dev@dpdk.org \
--cc=joshwash@google.com \
--cc=stephen@networkplumber.org \
/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.