Re: [PATCH net-next v4 00/15] gve: AdminQ mode related refactors
From: Harshitha Ramamurthy
Date: Mon Aug 17 2026 - 17:48:09 EST
On Thu, Aug 13, 2026 at 7:14 PM Harshitha Ramamurthy
<hramamurthy@xxxxxxxxxx> wrote:
>
> This series is preparing the driver for the addition of a new control
> plane mode(MailboxQ) by commonizing and reusing as much code as possible.
> MailboxQ is a new control plane infrastructure which uses mailbox queues.
> This is a new control plane to communicate with the device when the driver
> is running on bare-metal instances as well as newer versions of the device.
>
> This series contains 2 main changes to the gve driver's existing control
> plane(AdminQ):
> 1) refactor some initialization/teardown path methods to make it work for
> both control planes.
> 2) add gve_ctrl_ops structure to the driver for various control plane
> operations
>
> The refactors are mainly around the init, reset and recover paths so that
> functionalities could be moved into the control ops like 'set_num_queues',
> 'set_num_ntfy_blks' etc.
>
> This patch series only sets the control ops for AdminQ mode. This is
> intended as a preparation for adding MailboxQ mode in upcoming series
> which will add the new control plane infrastructure and then introduce
> the corresponding control ops for MailboxQ mode.
>
> The entire list of future patches can be found here for reference:
> https://github.com/hramamurthy12/linux/commits/gve-mailbox-queues/
Sashiko has spotted a few issues - will look through them and fix them in v5.
>
> Changes in v4:
> - Reduce code churn by placing new functions directly in gve_adminq.c, introducing final tab spacing
> and using local variable (Przemek Kitszel)
> - Fix kdoc formatting and drop spurious management interrupt(patch 9)
> - Propagate release_db_resources naming change (patch 12)
> - Remove double logging in destroy queues path (patch 14)
> - v3: https://lore.kernel.org/netdev/20260803184630.3813311-1-hramamurthy@xxxxxxxxxx/
>
> Changes in v3:
> - Fix driver compatibility verification in the reset and recovery paths (patches 2, 8).
> - Mark gve_adminq_get_device_properties() with __maybe_unused ahead of its usage (patch 7).
> - Refine error handling and resource cleanup in reset, probe, and queue creation paths (patches 8, 9, 11, 14).
> - Keep IRQ doorbell allocation/release in control plane resource helpers (patch 12).
> - Minor fixes: fix TOCTOU issue for link speed, correct kdoc comments, and remove redundant teardown calls (patches 4, 11, 15).
> - v2: https://lore.kernel.org/netdev/20260602235900.3050782-1-hramamurthy@xxxxxxxxxx/
>
> Changes in v2:
> - Rebased against latest net-next to resolve apply failure for patch 5
> - Fixed a few typos in commit messages of patch 9 and 14
> - Fixed a kdoc warning in patch 9
> - v1: https://lore.kernel.org/netdev/20260601175437.3767283-1-hramamurthy@xxxxxxxxxx/
> Harshitha Ramamurthy (9):
> gve: don't pass in unused parameter to gve_adminq_free
> gve: refactor initialization with helper functions
> gve: add a few helper functions to set device properties
> gve: add struct gve_device_info to hold device properties
> gve: introduce control plane operations structure
> gve: introduce ctrl ops to set vectors and Qs
> gve: introduce gve_adminq_get_device_properties()
> gve: refactor gve_init_priv for reset path
> gve: add ctrl ops to for queue operations
>
> Joshua Washington (6):
> gve: simplify reset logic
> gve: add gve_ctrl_ops for gve initialization/teardown sequences
> gve: split up notify block allocation and setup paths
> gve: introduce new methods to handle IRQ doorbells
> gve: setup and teardown management interrupts
> gve: add link status/speed ctrl ops
>
> drivers/net/ethernet/google/gve/gve.h | 89 +-
> drivers/net/ethernet/google/gve/gve_adminq.c | 437 ++++++--
> drivers/net/ethernet/google/gve/gve_adminq.h | 25 +-
> drivers/net/ethernet/google/gve/gve_dqo.h | 2 +-
> drivers/net/ethernet/google/gve/gve_ethtool.c | 5 +-
> .../net/ethernet/google/gve/gve_flow_rule.c | 15 +-
> drivers/net/ethernet/google/gve/gve_main.c | 940 +++++++++---------
> 7 files changed, 957 insertions(+), 556 deletions(-)
>
> --
> 2.55.0.691.gc56d675ccc-goog
>