Re: [PATCH net-next 0/1] mlx5: Add netdev-genl queue stats

Joe Damato
2024-05-09T06:30:22Z

On Wed, May 08, 2024 at 07:08:39PM -0700, Jakub Kicinski wrote:
> On Thu, 9 May 2024 01:57:52 +0000 Joe Damato wrote:
> > If I'm following that right and understanding mlx5 (two things I am
> > unlikely to do simultaneously), that sounds to me like:
> >
> > - mlx5e_get_queue_stats_rx and mlx5e_get_queue_stats_tx check if i <
> > priv->channels.params.num_channels (instead of priv->stats_nch),
>
> Yes, tho, not sure whether the "if i < ...num_channels" is even
> necessary, as core already checks against real_num_rx_queues.
>
> > and when
> > summing mlx5e_sq_stats in the latter function, it's up to
> > priv->channels.params.mqprio.num_tc instead of priv->max_opened_tc.
> >
> > - mlx5e_get_base_stats accumulates and outputs stats for everything from
> > priv->channels.params.num_channels to priv->stats_nch, and
>
> I'm not sure num_channels gets set to 0 when device is down so possibly
> from "0 if down else ...num_channels" to stats_nch.

Yea, you were right:

if (priv->channels.num == 0)
i = 0;
else
i = priv->channels.params.num_channels;

for (; i < priv->stats_nch; i++) {

Seems to be working now when I adjust the queue count and the test is
passing as I adjust the queue count up or down. Cool.

Adding TCs to the NIC triggers the test to fail, so there's still some bug
in how I'm accumulating stats from the hw TCs.