aboutsummaryrefslogtreecommitdiffstats
path: root/src/drivers/net/gve.c
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2024-07-25 00:10:38 +0100
committerMichael Brown <mcb30@ipxe.org>2024-07-25 00:13:33 +0100
commitd2d194bc60f012569fa95ed54693cb6663beb5ce (patch)
tree5121f9a48b7724fb7d241ff05abab99570c63cf4 /src/drivers/net/gve.c
parentc7b76e3adc3b4365aa3b490f24ae22375901c559 (diff)
downloadipxe-d2d194bc60f012569fa95ed54693cb6663beb5ce.tar.gz
[gve] Increase number of receive buffers to reduce packet loss
Experiments suggest that using fewer than 64 receive buffers leads to excessive packet drop rates on some instance types (observed with a c3-standard-4 instance in europe-west4-a). Fix by increasing the number of receive data buffers (and adjusting the length of the registrable queue page address list to match). Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/net/gve.c')
-rw-r--r--src/drivers/net/gve.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/drivers/net/gve.c b/src/drivers/net/gve.c
index 03edc0899..7f86dd219 100644
--- a/src/drivers/net/gve.c
+++ b/src/drivers/net/gve.c
@@ -722,6 +722,7 @@ static int gve_alloc_qpl ( struct gve_nic *gve, struct gve_qpl *qpl,
/* Calculate number of pages required */
build_assert ( GVE_BUF_SIZE <= GVE_PAGE_SIZE );
qpl->count = ( ( buffers + GVE_BUF_PER_PAGE - 1 ) / GVE_BUF_PER_PAGE );
+ assert ( qpl->count <= GVE_QPL_MAX );
/* Allocate pages (as a single block) */
len = ( qpl->count * GVE_PAGE_SIZE );