DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
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


             reply	other threads:[~2026-10-19 11:47 UTC|newest]

Thread overview: 18+ 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-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox