gve: Track RX buffer allocation failures
authorCatherine Sullivan <csully@google.com>
Mon, 11 Oct 2021 15:36:50 +0000 (08:36 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Nov 2021 18:16:31 +0000 (19:16 +0100)
[ Upstream commit 1b4d1c9bab091ac6e20a3ff80c30c5cefe192bf4 ]

The rx_buf_alloc_fail counter wasn't getting updated.

Fixes: 433e274b8f7b0 ("gve: Add stats for gve.")
Signed-off-by: Catherine Sullivan <csully@google.com>
Signed-off-by: Jeroen de Borst <jeroendb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/google/gve/gve_rx.c

index 94941d4e47449244a3c4f5fe2c8248cab24300ec..16169f291ad9f9cba7dc72bd3ffe706cf53f7b29 100644 (file)
@@ -514,8 +514,13 @@ static bool gve_rx_refill_buffers(struct gve_priv *priv, struct gve_rx_ring *rx)
 
                                gve_rx_free_buffer(dev, page_info, data_slot);
                                page_info->page = NULL;
-                               if (gve_rx_alloc_buffer(priv, dev, page_info, data_slot))
+                               if (gve_rx_alloc_buffer(priv, dev, page_info,
+                                                       data_slot)) {
+                                       u64_stats_update_begin(&rx->statss);
+                                       rx->rx_buf_alloc_fail++;
+                                       u64_stats_update_end(&rx->statss);
                                        break;
+                               }
                        }
                }
                fill_cnt++;