All of 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: 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.