Skip to content

Commit 09a81a0

Browse files
agarg2008kuba-moo
authored andcommitted
gve: Default to max_rx_buffer_size for DQO if device supported
Change the driver's default behavior to prefer the largest available RX buffer length supported by the device for DQO format, rather than always using the hardcoded 2K default. Previously, the driver would initialize with `GVE_DEFAULT_RX_BUFFER_SIZE` (2K), even if the device advertised support for a larger length (e.g., 4K). Performance observations: - With LRO disabled, we observed >10% improvement in RX single stream throughput when MTU >=2048. - With LRO enabled, we observed >10% improvement in RX single stream throughput when MTU >=1460. - No regressions were observed. Signed-off-by: Ankit Garg <[email protected]> Reviewed-by: Harshitha Ramamurthy <[email protected]> Reviewed-by: Jordan Rhee <[email protected]> Reviewed-by: Willem de Bruijn <[email protected]> Signed-off-by: Joshua Washington <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent d235bb2 commit 09a81a0

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

drivers/net/ethernet/google/gve/gve_adminq.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -987,6 +987,10 @@ static void gve_enable_supported_features(struct gve_priv *priv,
987987
dev_info(&priv->pdev->dev,
988988
"BUFFER SIZES device option enabled with max_rx_buffer_size of %u, header_buf_size of %u.\n",
989989
priv->max_rx_buffer_size, priv->header_buf_size);
990+
if (gve_is_dqo(priv) &&
991+
priv->max_rx_buffer_size > GVE_DEFAULT_RX_BUFFER_SIZE)
992+
priv->rx_cfg.packet_buffer_size =
993+
priv->max_rx_buffer_size;
990994
}
991995

992996
/* Read and store ring size ranges given by device */

0 commit comments

Comments
 (0)