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(-)
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/ 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@google.com/ 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@google.com/ 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@google.com/ 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
On 8/14/26 04:13, Harshitha Ramamurthy 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/ > > 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@google.com/ > > 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@google.com/ > > 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@google.com/ > 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(-) > Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
On Thu, Aug 13, 2026 at 7:14 PM Harshitha Ramamurthy <hramamurthy@google.com> 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@google.com/ > > 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@google.com/ > > 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@google.com/ > 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 >
On Mon, 17 Aug 2026 14:45:08 -0700 Harshitha Ramamurthy wrote: > Sashiko has spotted a few issues - will look through them and fix them in v5. net-next has closed. I'll take the first 3 from v4 and the rest has to wait until after the merge window.
On Mon, Aug 17, 2026 at 6:39 PM Jakub Kicinski <kuba@kernel.org> wrote: > > On Mon, 17 Aug 2026 14:45:08 -0700 Harshitha Ramamurthy wrote: > > Sashiko has spotted a few issues - will look through them and fix them in v5. > > net-next has closed. I'll take the first 3 from v4 and the rest has to > wait until after the merge window. Sounds good, will post the rest when net-next opens. Thanks!
© 2016 - 2026 Red Hat, Inc.