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

From: Stephen Hemminger <[email-masked]>
Date: Mon, 30 Jul 2018 10:34:06 -0700

On Mon, 30 Jul 2018 17:09:45 +0000
Yidong Ren <[email-masked]> wrote:

> From: Yidong Ren <[email-masked]>
> 
> 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 <[email-masked]>

Reviewed-by: Stephen Hemminger <[email-masked]>