[PATCH] gve: Fix RX_BUFFERS_POSTED stat to report per-queue fill_cnt

Alok Tiwari posted 1 patch 6 months, 3 weeks ago
drivers/net/ethernet/google/gve/gve_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] gve: Fix RX_BUFFERS_POSTED stat to report per-queue fill_cnt
Posted by Alok Tiwari 6 months, 3 weeks ago
Previously, the RX_BUFFERS_POSTED stat incorrectly reported the
fill_cnt from RX queue 0 for all queues, resulting in inaccurate
per-queue statistics.
Fix this by correctly indexing priv->rx[idx].fill_cnt for each RX queue.

Fixes: 24aeb56f2d38 ("gve: Add Gvnic stats AQ command and ethtool show/set-priv-flags.")
Signed-off-by: Alok Tiwari <alok.a.tiwari@oracle.com>
---
 drivers/net/ethernet/google/gve/gve_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/google/gve/gve_main.c b/drivers/net/ethernet/google/gve/gve_main.c
index c3791cf23c87..d561d45021a5 100644
--- a/drivers/net/ethernet/google/gve/gve_main.c
+++ b/drivers/net/ethernet/google/gve/gve_main.c
@@ -2153,7 +2153,7 @@ void gve_handle_report_stats(struct gve_priv *priv)
 			};
 			stats[stats_idx++] = (struct stats) {
 				.stat_name = cpu_to_be32(RX_BUFFERS_POSTED),
-				.value = cpu_to_be64(priv->rx[0].fill_cnt),
+				.value = cpu_to_be64(priv->rx[idx].fill_cnt),
 				.queue_id = cpu_to_be32(idx),
 			};
 		}
-- 
2.47.1
Re: [PATCH] gve: Fix RX_BUFFERS_POSTED stat to report per-queue fill_cnt
Posted by Harshitha Ramamurthy 6 months, 3 weeks ago
On Tue, May 27, 2025 at 6:08 AM Alok Tiwari <alok.a.tiwari@oracle.com> wrote:
>
> Previously, the RX_BUFFERS_POSTED stat incorrectly reported the
> fill_cnt from RX queue 0 for all queues, resulting in inaccurate
> per-queue statistics.
> Fix this by correctly indexing priv->rx[idx].fill_cnt for each RX queue.
>
> Fixes: 24aeb56f2d38 ("gve: Add Gvnic stats AQ command and ethtool show/set-priv-flags.")
> Signed-off-by: Alok Tiwari <alok.a.tiwari@oracle.com>
> ---
>  drivers/net/ethernet/google/gve/gve_main.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Patch looks okay, but it needs to be prefixed with [PATCH net] since
it's a fix.

Thanks,
Harshitha
>
> diff --git a/drivers/net/ethernet/google/gve/gve_main.c b/drivers/net/ethernet/google/gve/gve_main.c
> index c3791cf23c87..d561d45021a5 100644
> --- a/drivers/net/ethernet/google/gve/gve_main.c
> +++ b/drivers/net/ethernet/google/gve/gve_main.c
> @@ -2153,7 +2153,7 @@ void gve_handle_report_stats(struct gve_priv *priv)
>                         };
>                         stats[stats_idx++] = (struct stats) {
>                                 .stat_name = cpu_to_be32(RX_BUFFERS_POSTED),
> -                               .value = cpu_to_be64(priv->rx[0].fill_cnt),
> +                               .value = cpu_to_be64(priv->rx[idx].fill_cnt),
>                                 .queue_id = cpu_to_be32(idx),
>                         };
>                 }
> --
> 2.47.1
>