[PATCH net-next v2 0/4] gve: Improve RX buffer length management

joshwash@google.com posted 4 patches 1 month, 1 week ago
There is a newer version of this series
drivers/net/ethernet/google/gve/gve.h         | 12 +++++--
drivers/net/ethernet/google/gve/gve_adminq.c  |  4 +++
drivers/net/ethernet/google/gve/gve_ethtool.c | 13 +++++--
drivers/net/ethernet/google/gve/gve_main.c    | 73 +++++++++++++++++++++++++++++-----------
4 files changed, 78 insertions(+), 24 deletions(-)
[PATCH net-next v2 0/4] gve: Improve RX buffer length management
Posted by joshwash@google.com 1 month, 1 week ago
From: Ankit Garg <nktgrg@google.com>

This patch series improves the management of the RX buffer length for
the DQO queue format in the gve driver. The goal is to make RX buffer
length config more explicit, easy to change, and performant by default.

We accomplish that in four patches:

1.  Currently, the buffer length is implicitly coupled with the header
    split setting, which is an unintuitive and restrictive design. The
    first patch decouples the RX buffer length from the header split
    configuration.

2.  The second patch is a preparatory step for third. It converts the
    XDP config verification method to use extack for better error
    reporting.

3.  The third patch exposes the `rx_buf_len` parameter to userspace via
    ethtool, allowing user to directly view or modify the RX buffer
    length if supported by the device.

4.  The final patch improves the out-of-the-box RX single stream
    throughput by >10%  by changing the driver's default behavior to
    select the maximum supported RX buffer length advertised by the
    device during initialization.

Changes in v2:
* Plumbed extack during xdp verification in patch 2 (Jakub Kicinski)
* Refactored RX buffer length validation to clarify that it handles
  scenario when device doesn't advertise 4K support (Jakub Kicinski)

Ankit Garg (4):
  gve: Decouple header split from RX buffer length
  gve: Use extack to log xdp config verification errors
  gve: Allow ethtool to configure rx_buf_len
  gve: Default to max_rx_buffer_size for DQO if device supported

 drivers/net/ethernet/google/gve/gve.h         | 12 +++++--
 drivers/net/ethernet/google/gve/gve_adminq.c  |  4 +++
 drivers/net/ethernet/google/gve/gve_ethtool.c | 13 +++++--
 drivers/net/ethernet/google/gve/gve_main.c    | 73 +++++++++++++++++++++++++++++-----------
 4 files changed, 78 insertions(+), 24 deletions(-)

--
2.51.2.997.g839fc31de9-goog