[PATCH v4 net-next] hv_netvsc: Add per-cpu ethtool stats for netvsc

Stephen Hemminger stephen at networkplumber.org
Mon Jul 30 17:34:06 UTC 2018


On Mon, 30 Jul 2018 17:09:45 +0000
Yidong Ren <yidren at linuxonhyperv.com> wrote:

> From: Yidong Ren <yidren at microsoft.com>
> 
> This patch implements following ethtool stats fields for netvsc:
> cpu<n>_tx/rx_packets/bytes
> cpu<n>_vf_tx/rx_packets/bytes
> 
> Corresponding per-cpu counters already exist in current code. Exposing
> these counters will help troubleshooting performance issues.
> 
> for_each_present_cpu() was used instead of for_each_possible_cpu().
> for_each_possible_cpu() would create very long and useless output.
> It is still being used for internal buffer, but not for ethtool
> output.
> 
> There could be an overflow if cpu was added between ethtool
> call netvsc_get_sset_count() and netvsc_get_ethtool_stats() and
> netvsc_get_strings(). (still safe if cpu was removed)
> ethtool makes these three function calls separately.
> As long as we use ethtool, I can't see any clean solution.
> 
> Currently and in foreseeable short term, Hyper-V doesn't support
> cpu hot-plug. Plus, ethtool is for admin use. Unlikely the admin
> would perform such combo operations.
> 
> Signed-off-by: Yidong Ren <yidren at microsoft.com>

Reviewed-by: Stephen Hemminger <sthemmin at microsoft.com>


More information about the devel mailing list