DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Jasper Tran O'Leary" <jtranoleary@google.com>
To: dev@dpdk.org
Cc: "Jasper Tran O'Leary" <jtranoleary@google.com>
Subject: [PATCH 0/9] net/gve: support proactive device reset
Date: Tue, 27 Oct 2026 18:54:09 +0000	[thread overview]
Message-ID: <20261027185420.724684-1-jtranoleary@google.com> (raw)

This series adds support for proactive device reset
(RTE_ETH_ERROR_HANDLE_MODE_PROACTIVE) to the GVE driver, replacing the
existing passive reset implementation. When the device requests a reset,
the driver now automatically recovers the control plane and recreates RX
and TX queues without requiring the application to manually reconfigure
the port.

To support automatic recovery safely while traffic is running, this
series:
- Fixes a pre-existing leak of the flow subsystem on device init
  failure.
- Saves RX and TX queue setup parameters and versions queue memzone
  names by reset generation so queues can be recreated before old queue
  memory is freed.
- Defers freeing retired queue memory ("zombie" queues) until after a
  grace period so concurrent datapath threads can safely drain after
  packet burst functions are redirected to dummy handlers.
- Splits device resource setup and teardown into host memory allocation
  and hardware configuration so host DMA memory can be kept across
  resets and re-registered with the device.
- Adds a reset mutex and moves device status polling off the shared DPDK
  alarm/interrupt thread onto a dedicated control thread.
- Implements proactive recovery and emits the standard DPDK recovery
  lifecycle events (RTE_ETH_EVENT_ERR_RECOVERING,
  RTE_ETH_EVENT_RECOVERY_SUCCESS, and RTE_ETH_EVENT_RECOVERY_FAILED).

Jasper Tran O'Leary (8):
  net/gve: free flow subsystem on dev init failure
  net/gve: snapshot queue configurations
  net/gve: add deferred queue memory reclamation
  net/gve: separate device resource alloc and config
  net/gve: add dedicated mutex for device reset
  net/gve: add check for device reset to AQ ctrl ops
  net/gve: implement proactive device reset
  net/gve: remove unused device reset parameter

Joshua Washington (1):
  net/gve: move dev status poller to its own thread

 doc/guides/nics/gve.rst                |  67 +-
 doc/guides/rel_notes/release_26_11.rst |   5 +
 drivers/net/gve/base/gve.h             |   1 +
 drivers/net/gve/gve_ethdev.c           | 775 ++++++++++++++------
 drivers/net/gve/gve_ethdev.h           |  87 ++-
 drivers/net/gve/gve_rx.c               |  36 +-
 drivers/net/gve/gve_rx_dqo.c           |  36 +-
 drivers/net/gve/gve_tx.c               |  32 +-
 drivers/net/gve/gve_tx_dqo.c           |  35 +-
 9 files changed, 813 insertions(+), 261 deletions(-)

-- 
2.56.0.307.g5fe7bd680c-goog


             reply	other threads:[~2026-10-27 18:55 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-27 18:54 Jasper Tran O'Leary [this message]
2026-10-27 18:54 ` [PATCH 1/9] net/gve: free flow subsystem on dev init failure Jasper Tran O'Leary
2026-10-27 18:54 ` [PATCH 2/9] net/gve: snapshot queue configurations Jasper Tran O'Leary
2026-10-27 18:54 ` [PATCH 3/9] net/gve: add deferred queue memory reclamation Jasper Tran O'Leary
2026-10-27 18:54 ` [PATCH 4/9] net/gve: separate device resource alloc and config Jasper Tran O'Leary
2026-10-27 18:54 ` [PATCH 5/9] net/gve: add dedicated mutex for device reset Jasper Tran O'Leary
2026-10-27 18:54 ` [PATCH 6/9] net/gve: add check for device reset to AQ ctrl ops Jasper Tran O'Leary
2026-10-27 18:54 ` [PATCH 7/9] net/gve: implement proactive device reset Jasper Tran O'Leary
2026-10-27 18:54 ` [PATCH 8/9] net/gve: remove unused device reset parameter Jasper Tran O'Leary
2026-10-27 18:54 ` [PATCH 9/9] net/gve: move dev status poller to its own thread Jasper Tran O'Leary
2026-10-27 20:50 ` [PATCH 0/9] net/gve: support proactive device reset Stephen Hemminger

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=20261027185420.724684-1-jtranoleary@google.com \
    --to=jtranoleary@google.com \
    --cc=dev@dpdk.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