Skip to content

release prep for v1.4.9#89

Merged
eddiep24 merged 12 commits into
GoogleCloudPlatform:releasefrom
eddiep24:release-prep
Feb 13, 2026
Merged

release prep for v1.4.9#89
eddiep24 merged 12 commits into
GoogleCloudPlatform:releasefrom
eddiep24:release-prep

Conversation

@eddiep24

Copy link
Copy Markdown
Collaborator
  • gve: defer interrupt enabling until NAPI registration
  • net: gve: convert to use .get_rx_ring_count
  • net: add bare bone queue configs
  • gve: fix probe failure if clock read fails
  • gve: Fix stats report corruption on queue count change
  • gve: Correct ethtool rx_dropped calculation
  • gve: Remove jumbo_remove step from TX path
  • cocci: make netmem dma sync patch more generic
  • cocci: fix skb_add_rx_frag for XDP
  • cocci: patch for d43ab0d (gve: Remove jumbo_remove step from TX path)
  • Bump driver version to 1.4.9

@google-cla

google-cla Bot commented Feb 13, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@eddiep24 eddiep24 marked this pull request as ready for review February 13, 2026 08:42
@josh8551021 josh8551021 self-requested a review February 13, 2026 19:48
Comment thread patches/ethtool_ntuple.cocci Outdated
Comment thread patches/patch_netdev_queue_api.cocci
@jordanrh1

Copy link
Copy Markdown
Collaborator

Please remove changes to the build/ directory. In fact, build directory shouldn't even be checked in. If you could delete build/ directory and add build/ to the .gitignore, that would be great.

@josh8551021

Copy link
Copy Markdown
Collaborator

Please remove changes to the build/ directory. In fact, build directory shouldn't even be checked in. If you could delete build/ directory and add build/ to the .gitignore, that would be great.

The existence of the build/ directory is intentional. If a user doesn't use DEB/RPM, and still wants to load the driver, we don't want to require them to install Coccinelle to build the multi-kernel compatible source themselves.

@jordanrh1

Copy link
Copy Markdown
Collaborator

Please remove changes to the build/ directory. In fact, build directory shouldn't even be checked in. If you could delete build/ directory and add build/ to the .gitignore, that would be great.

The existence of the build/ directory is intentional. If a user doesn't use DEB/RPM, and still wants to load the driver, we don't want to require them to install Coccinelle to build the multi-kernel compatible source themselves.

Got it - thanks. @eddiep24, please keep the preprocessed source but remove the .o and other compilation artifacts.

agarg2008 and others added 12 commits February 13, 2026 22:56
Currently, interrupts are automatically enabled immediately upon
request. This allows interrupt to fire before the associated NAPI
context is fully initialized and cause failures like below:

[    0.946369] Call Trace:
[    0.946369]  <IRQ>
[    0.946369]  __napi_poll+0x2a/0x1e0
[    0.946369]  net_rx_action+0x2f9/0x3f0
[    0.946369]  handle_softirqs+0xd6/0x2c0
[    0.946369]  ? handle_edge_irq+0xc1/0x1b0
[    0.946369]  __irq_exit_rcu+0xc3/0xe0
[    0.946369]  common_interrupt+0x81/0xa0
[    0.946369]  </IRQ>
[    0.946369]  <TASK>
[    0.946369]  asm_common_interrupt+0x22/0x40
[    0.946369] RIP: 0010:pv_native_safe_halt+0xb/0x10

Use the `IRQF_NO_AUTOEN` flag when requesting interrupts to prevent auto
enablement and explicitly enable the interrupt in NAPI initialization
path (and disable it during NAPI teardown).

This ensures that interrupt lifecycle is strictly coupled with
readiness of NAPI context.

Cc: stable@vger.kernel.org
Fixes: 1dfc2e46117e ("gve: Refactor napi add and remove functions")
Signed-off-by: Ankit Garg <nktgrg@google.com>
Reviewed-by: Jordan Rhee <jordanrhee@google.com>
Reviewed-by: Joshua Washington <joshwash@google.com>
Signed-off-by: Harshitha Ramamurthy <hramamurthy@google.com>
Link: https://patch.msgid.link/20251219102945.2193617-1-hramamurthy@google.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
net-next: 3d970eda003441f66551a91fda16478ac0711617
Convert the Google Virtual Ethernet (GVE) driver to use the new
.get_rx_ring_count ethtool operation instead of handling
ETHTOOL_GRXRINGS in .get_rxnfc. This simplifies the code by moving the
ring count query to a dedicated callback.

The new callback provides the same functionality in a more direct way,
following the ongoing ethtool API modernization.

Reviewed-by: Subbaraya Sundeep <sbhatta@marvell.com>
Reviewed-by: Harshitha Ramamurthy <hramamurthy@google.com>
Signed-off-by: Breno Leitao <leitao@debian.org>
Link: https://patch.msgid.link/20260105-gxring_google-v2-1-e7cfe924d429@debian.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net-next: 48b27ea6239a797b286919d549e8d8a5a54d89f3
We'll need to pass extra parameters when allocating a queue for memory
providers. Define a new structure for queue configurations, and pass it
to qapi callbacks. It's empty for now, actual parameters will be added
in following patches.

Configurations should persist across resets, and for that they're
default-initialised on device registration and stored in struct
netdev_rx_queue. We also add a new qapi callback for defaulting a given
config. It must be implemented if a driver wants to use queue configs
and is optional otherwise.

Suggested-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
net-next: efcb9a4d32d3d9b924642c086b868bfbb9a07c13
If timestamping is supported, GVE reads the clock during probe,
which can fail for various reasons. Previously, this failure would
abort the driver probe, rendering the device unusable. This behavior
has been observed on production GCP VMs, causing driver initialization
to fail completely.

This patch allows the driver to degrade gracefully. If gve_init_clock()
fails, it logs a warning and continues loading the driver without PTP
support.

Cc: stable@vger.kernel.org
Fixes: a479a27f4da4 ("gve: Move gve_init_clock to after AQ CONFIGURE_DEVICE_RESOURCES call")
Signed-off-by: Jordan Rhee <jordanrhee@google.com>
Reviewed-by: Shachar Raindel <shacharr@google.com>
Signed-off-by: Harshitha Ramamurthy <hramamurthy@google.com>
Link: https://patch.msgid.link/20260127010210.969823-1-hramamurthy@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net-next: a040afa3bca415019d96a586b96b5f17b1f55a90
The driver and the NIC share a region in memory for stats reporting.
The NIC calculates its offset into this region based on the total size
of the stats region and the size of the NIC's stats.

When the number of queues is changed, the driver's stats region is
resized. If the queue count is increased, the NIC can write past
the end of the allocated stats region, causing memory corruption.
If the queue count is decreased, there is a gap between the driver
and NIC stats, leading to incorrect stats reporting.

This change fixes the issue by allocating stats region with maximum
size, and the offset calculation for NIC stats is changed to match
with the calculation of the NIC.

Cc: stable@vger.kernel.org
Fixes: 24aeb56f2d38 ("gve: Add Gvnic stats AQ command and ethtool show/set-priv-flags.")
Signed-off-by: Debarghya Kundu <debarghyak@google.com>
Reviewed-by: Joshua Washington <joshwash@google.com>
Signed-off-by: Harshitha Ramamurthy <hramamurthy@google.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://patch.msgid.link/20260202193925.3106272-2-hramamurthy@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net-next: 7b9ebcce0296e104a0d82a6b09d68564806158ff
The gve driver's "rx_dropped" statistic, exposed via `ethtool -S`,
incorrectly includes `rx_buf_alloc_fail` counts. These failures
represent an inability to allocate receive buffers, not true packet
drops where a received packet is discarded. This misrepresentation can
lead to inaccurate diagnostics.

This patch rectifies the ethtool "rx_dropped" calculation. It removes
`rx_buf_alloc_fail` from the total and adds `xdp_tx_errors` and
`xdp_redirect_errors`, which represent legitimate packet drops within
the XDP path.

Cc: stable@vger.kernel.org
Fixes: 433e274b8f7b ("gve: Add stats for gve.")
Signed-off-by: Max Yuan <maxyuan@google.com>
Reviewed-by: Jordan Rhee <jordanrhee@google.com>
Reviewed-by: Joshua Washington <joshwash@google.com>
Reviewed-by: Matt Olson <maolson@google.com>
Signed-off-by: Harshitha Ramamurthy <hramamurthy@google.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://patch.msgid.link/20260202193925.3106272-3-hramamurthy@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net-next: c7db85d579a1dccb624235534508c75fbf2dfe46
Now that the kernel doesn't insert HBH for BIG TCP IPv6 packets, remove
unnecessary steps from the gve TX path, that used to check and remove
HBH.

Signed-off-by: Alice Mikityanska <alice@isovalent.com>
Acked-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20260205133925.526371-10-alice.kernel@fastmail.im
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net-next: 275da93ce2b8fa2f82da1e8785d6f1930670ef88
Including full arguemnt list for coccinelle patches can be quite
fragile, as if a single argument changes, the patch will no longer
apply, and compile tests can break.

Signed-off-by: Joshua Washington <joshwash@google.com>
Kernel versions between 6.7 (when page pool was introduced) and 6.14 do
not currently have skb_add_rx_frag working properly in the XDP_PASS
case, as the coccinelle patch does not make use of the newer
gve_skb_add_rx_frag. Update the coccinelle patch to use
gve_skb_add_rx_frag in all cases, patching out the behavior in the
function itself instead of patching out the function entirely for older
kernel versions.

Fixes: 3d7cf4062cbe5 ("gve: convert to use netmem for DQO RDA mode")
Signed-off-by: Joshua Washington <joshwash@google.com>
@josh8551021 josh8551021 self-requested a review February 13, 2026 23:53
@eddiep24 eddiep24 merged commit 55132a0 into GoogleCloudPlatform:release Feb 13, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants