public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/2] gve: Support larger ring sizes in DQO-QPL mode
@ 2026-02-25 18:23 Joshua Washington
  2026-02-25 18:23 ` [PATCH net-next v2 1/2] gve: Update QPL page registration logic Joshua Washington
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Joshua Washington @ 2026-02-25 18:23 UTC (permalink / raw)
  To: netdev
  Cc: Joshua Washington, Harshitha Ramamurthy, Andrew Lunn,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Willem de Bruijn, Jordan Rhee, John Fraker, Ziwei Xiao,
	Matt Olson, Praveen Kaligineedi, Bailey Forrest, Tim Hostetler,
	linux-kernel, Max Yuan

From: Max Yuan <maxyuan@google.com>

This patch series updates the gve driver to improve Queue Page List
(QPL) management and enable support for larger ring sizes when using the
DQO-QPL queue format.

Previously, the driver used hardcoded multipliers to determine the
number of pages to register for QPLs (e.g., 2x ring size for RX). This
rigid approach made it difficult to support larger ring sizes without
potentially exceeding the "max_registered_pages" limit reported by the
device.

The first patch introduces a unified and flexible logic for calculating
QPL page requirements. It balances TX and RX page allocations based on
the configured ring sizes and scales the total count down proportionally
if it would otherwise exceed the device's global registration limit.

The second patch leverages this new flexibility to stop ignoring the
maximum ring size supported by the device in DQO-QPL mode. Users can now
configure ring sizes up to the device-reported maximum, as the driver
will automatically adjust the QPL size to stay within allowed memory
bounds.

Changes in v2:
   - Fixed 32-bit compilation issue by using div64_u64 and div_u64 instead
     of division operator. (Paolo Abeni)

Matt Olson (2):
  gve: Update QPL page registration logic
  gve: Enable reading max ring size from the device in DQO-QPL mode

 drivers/net/ethernet/google/gve/gve.h                 | 18 ++++++--------
 drivers/net/ethernet/google/gve/gve_adminq.c          | 18 ++++----------
 drivers/net/ethernet/google/gve/gve_buffer_mgmt_dqo.c |  2 +-
 drivers/net/ethernet/google/gve/gve_main.c            | 41 ++++++++++++++++++++++++++++++++
 drivers/net/ethernet/google/gve/gve_rx.c              |  5 +---
 drivers/net/ethernet/google/gve/gve_rx_dqo.c          |  6 ++---
 drivers/net/ethernet/google/gve/gve_tx.c              |  5 +---
 drivers/net/ethernet/google/gve/gve_tx_dqo.c          |  4 +---
 8 files changed, 58 insertions(+), 41 deletions(-)

--
2.53.0.273.g2a3d683680-goog


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-02-28 17:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-25 18:23 [PATCH net-next v2 0/2] gve: Support larger ring sizes in DQO-QPL mode Joshua Washington
2026-02-25 18:23 ` [PATCH net-next v2 1/2] gve: Update QPL page registration logic Joshua Washington
2026-02-25 18:23 ` [PATCH net-next v2 2/2] gve: Enable reading max ring size from the device in DQO-QPL mode Joshua Washington
2026-02-28 17:10 ` [PATCH net-next v2 0/2] gve: Support larger ring sizes " patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox