Subject: Re: [PATCH net-next] mlxsw: spectrum_ethtool: expose per-PG rx_discards

From: Petr Machata <[email-masked]>
Date: Mon, 18 May 2026 19:19:47 +0200

Keno Fischer <[email-masked]> writes:

> PPCNT group 0x10 (per-priority counters) carries an rx_discards field at
> offset 0x78. These counters aggregate up into if_in_discards, but don't
> show up anywhere else. Since there are many things that aggregate into
> `if_in_discards`, having these counters helps distinguish what caused
> those discards (in my case they were caused by headroom buffer overruns
> due to inappropriately configured buffer sizes).
>
> Of note, from emperical testing, these counter are per-"priority group"
> (PG) not per-"switch priority". It's a bit confusing, because the rest
> of these counter are per-"switch priority" and the header file calls
> these "Per Priority Group Counters". However, that should be read as
> "(Per Priority) Group Counters", not "Per (Priority Group) Counters".

I think it's (Per-Priority Group) Counters. As in group of counters that
are per priority. Similarly there's the "Ethernet Discard Counter Group
Counters". These names come from the HW manual.

> I attempted to distinguish this in the counter naming by calling these
> `rx_discards_pg_N` rather than `rx_discards_prio_N` (which is the
> naming scheme of the other counters in this PPCNT group).
>
> I will also note that the mlx5 driver (which already has this counter)
> uses the schme `rx_prioN_discards` (and same for the other counters
> in this group). However, I was unable to determine whether the mlx5
> counters behave the same as the mlxsw counters with respect to PG
> mapping. An attempt to remap to a different PG there did not change
> which counter incremented, but the mlx5 configuration code is quite
> different, so it's possible the remapping needs to be done differently.
>
> Assisted-by: Claude:claude-opus-4-7
> Signed-off-by: Keno Fischer <[email-masked]>

LGTM, thanks!
Reviewed-by: Petr Machata <[email-masked]>