Re: [PATCH net-next v4 00/15] gve: AdminQ mode related refactors
Harshitha Ramamurthy <[email protected]>
| Newsgroups | org.kernel.vger.bpf,org.kernel.vger.linux-kernel,org.kernel.vger.netdev |
|---|---|
| Message-ID | <CAEAWyHerP_n3ucJaEqrCZqVFQTPKzydYXOPYZkk8d0iKf8UWow@mail.gmail.com> |
On Thu, Aug 13, 2026 at 7:14 PM Harshitha Ramamurthy <[email protected]> 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/[email protected]/ > > 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/[email protected]/ > > 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/[email protected]/ > 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 >