Re: [PATCH net-next 3/8] net: mscc: ocelot: debugging print for statistics regions

From: Jacob Keller
Date: Wed Apr 12 2023 - 17:18:32 EST




On 4/12/2023 5:47 AM, Vladimir Oltean wrote:
> To make it easier to debug future issues with statistics counters not
> getting aggregated properly into regions, like what happened in commit
> 6acc72a43eac ("net: mscc: ocelot: fix stats region batching"), add some
> dev_dbg() prints which show the regions that were dynamically
> determined.
>
> Signed-off-by: Vladimir Oltean <vladimir.oltean@xxxxxxx>
> ---
> drivers/net/ethernet/mscc/ocelot_stats.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/net/ethernet/mscc/ocelot_stats.c b/drivers/net/ethernet/mscc/ocelot_stats.c
> index d0e6cd8dbe5c..b50d9d9f8023 100644
> --- a/drivers/net/ethernet/mscc/ocelot_stats.c
> +++ b/drivers/net/ethernet/mscc/ocelot_stats.c
> @@ -925,6 +925,15 @@ static int ocelot_prepare_stats_regions(struct ocelot *ocelot)
> }
>
> list_for_each_entry(region, &ocelot->stats_regions, node) {
> + enum ocelot_target target;
> + u32 addr;
> +
> + ocelot_reg_to_target_addr(ocelot, region->base, &target,
> + &addr);
> +
> + dev_dbg(ocelot->dev,
> + "region of %d contiguous counters starting with SYS:STAT:CNT[0x%03x]\n",
> + region->count, addr / 4);


This will load the target and addr every time even when dev_dbg isn't
activated, but thats not a huge cost.

Reviewed-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>

> region->buf = devm_kcalloc(ocelot->dev, region->count,
> sizeof(*region->buf), GFP_KERNEL);
> if (!region->buf)