[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9b03f43e-3816-8aba-f6a6-3bd2d410726e@intel.com>
Date: Wed, 12 Apr 2023 14:17:47 -0700
From: Jacob Keller <jacob.e.keller@...el.com>
To: Vladimir Oltean <vladimir.oltean@....com>, <netdev@...r.kernel.org>
CC: Andrew Lunn <andrew@...n.ch>,
Florian Fainelli <f.fainelli@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
"Claudiu Manoil" <claudiu.manoil@....com>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
<UNGLinuxDriver@...rochip.com>,
Colin Foster <colin.foster@...advantage.com>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH net-next 3/8] net: mscc: ocelot: debugging print for
statistics regions
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@....com>
> ---
> 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@...el.com>
> region->buf = devm_kcalloc(ocelot->dev, region->count,
> sizeof(*region->buf), GFP_KERNEL);
> if (!region->buf)
Powered by blists - more mailing lists