RE: [EXTERNAL] Re: [PATCH net v2 2/4] octeon_ep: remove firmware stats fetch in ndo_get_stats64

From: Shinas Rasheed
Date: Mon Dec 16 2024 - 13:31:47 EST


Hi Larysa,


> On Sun, Dec 15, 2024 at 11:58:40PM -0800, Shinas Rasheed wrote:
> > The per queue stats are available already and are retrieved
> > from register reads during ndo_get_stats64. The firmware stats
> > fetch call that happens in ndo_get_stats64() is currently not
> > required
> >
> > Fixes: 6a610a46bad1 ("octeon_ep: add support for ndo ops")
> > Signed-off-by: Shinas Rasheed <srasheed@xxxxxxxxxxx>
> > @@ -1019,10 +1013,6 @@ static void octep_get_stats64(struct net_device
> *netdev,
> > stats->tx_bytes = tx_bytes;
> > stats->rx_packets = rx_packets;
> > stats->rx_bytes = rx_bytes;
> > - stats->multicast = oct->iface_rx_stats.mcast_pkts;
> > - stats->rx_errors = oct->iface_rx_stats.err_pkts;
> > - stats->collisions = oct->iface_tx_stats.xscol;
> > - stats->tx_fifo_errors = oct->iface_tx_stats.undflw;
>
> I do not see, how it is a fix to remove some fields from stats. If this is a
> cleanup, it should not go to the stable tree.
>
> > }
> >

The fix part of this patch is to remove the call to firmware to retrieve stats, which could block and cause rcu read lock warnings.
The fields that are retrieved by this stats call can be neglected for use cases concerning the DPU, and the necessary stats are already
read from per queue hardware stats registers. Hence, why the code is removed.