Re: [PATCH] net :mana : Add per-cpu stats for MANA device

From: Jakub Kicinski
Date: Thu Mar 07 2024 - 12:01:57 EST


On Thu, 7 Mar 2024 15:49:15 +0000 Haiyang Zhang wrote:
> > > Extend 'ethtool -S' output for mana devices to include per-CPU packet
> > > stats
> >
> > But why? You already have per queue stats.
> Yes. But the q to cpu binding is dynamic, we also want the per-CPU stat
> to analyze the CPU usage by counting the packets and bytes on each CPU.

Dynamic is a bit of an exaggeration, right? On a well-configured system
each CPU should use a single queue assigned thru XPS. And for manual
debug bpftrace should serve the purpose quite well.

Please note that you can't use num_present_cpus() to size stats in
ethtool -S , you have to use possible_cpus(), because the retrieval
of the stats is done in a multi-syscall fashion and there are no
explicit lengths in the API. So you must always report all possible
stats, not just currently active :(