Messages in this thread | | | Date | Mon, 16 Nov 2020 14:35:44 -0800 | From | Jakub Kicinski <> | Subject | Re: [PATCH v1 net-next] net: dsa: qca: ar9331: add ethtool stats support |
| |
On Tue, 17 Nov 2020 00:21:46 +0200 Vladimir Oltean wrote: > On Mon, Nov 16, 2020 at 01:34:53PM -0800, Jakub Kicinski wrote: > > You must expose relevant statistics via the normal get_stats64 NDO > > before you start dumping free form stuff in ethtool -S. > > Completely agree on the point, Jakub, but to be honest we don't give him > that possibility within the DSA framework today, see .ndo_get_stats64 in > net/dsa/slave.c which returns the generic dev_get_tstats64 implementation, > and not something that hooks into the hardware counters, or into the > driver at all, for that matter.
Simple matter of coding, right? I don't see a problem.
Also I only mentioned .ndo_get_stats64, but now we also have stats in ethtool->get_pause_stats.
> But it's good that you raise the point, I was thinking too that we > should do better in terms of keeping the software counters in sync with > the hardware. But what would be a good reference for keeping statistics > on an offloaded interface? Is it ok to just populate the netdev counters > based on the hardware statistics?
IIRC the stats on the interface should be a sum of forwarded in software and in hardware. Which in practice means interface HW stats are okay, given eventually both forwarding types end up in the HW interface (/MAC block).
> And what about the statistics gathered > today in software, could we return them maybe via something like ifstat > --extended=cpu_hits?
Yup, exactly, that's what --extended=cpu_hits is for.
| |