gve: allocate twice as many buf_states
Increase the number of available buffers to match bare-metal testing.
Increases the likelyhood of buffer reuse and reduce the need to allocate
GPU pages from the gen_pool.
Change-Id: I1f144f85f7fb4d4beb245d7d946d4f84d08e6013
Reviewed-on: https://cos-review.googlesource.com/c/third_party/kernel/+/57749
Reviewed-by: Brian Vazquez <brianvv@google.com>
Tested-by: Mina Almasry <almasrymina@google.com>
Reviewed-by: Neal Cardwell <ncardwell@google.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Jeroen de Borst <jeroendb@google.com>
diff --git a/drivers/net/ethernet/google/gve/gve_rx_dqo.c b/drivers/net/ethernet/google/gve/gve_rx_dqo.c
index 57492b5..b619629 100644
--- a/drivers/net/ethernet/google/gve/gve_rx_dqo.c
+++ b/drivers/net/ethernet/google/gve/gve_rx_dqo.c
@@ -402,7 +402,7 @@ static int gve_rx_alloc_ring_dqo(struct gve_priv *priv, int idx)
rx->q_num = idx;
/* Allocate buf states */
- rx->dqo.num_buf_states = min_t(s16, S16_MAX, buffer_queue_slots * 4);
+ rx->dqo.num_buf_states = min_t(s16, S16_MAX, buffer_queue_slots * 8);
rx->dqo.buf_states = kvcalloc(rx->dqo.num_buf_states,
sizeof(rx->dqo.buf_states[0]),
GFP_KERNEL);