linux/drivers/net/hyperv
sixiao@microsoft.com 7eafd9b400 hv_netvsc: use per_cpu stats to calculate TX/RX data
Current code does not lock anything when calculating the TX and RX stats.
As a result, the RX and TX data reported by ifconfig are not accuracy in a
system with high network throughput and multiple CPUs (in my test,
RX/TX = 83% between 2 HyperV VM nodes which have 8 vCPUs and 40G Ethernet).

This patch fixed the above issue by using per_cpu stats.
netvsc_get_stats64() summarizes TX and RX data by iterating over all CPUs
to get their respective stats.

This v2 patch addressed David's comments on the cleanup path when
netdev_alloc_pcpu_stats() failed.

Signed-off-by: Simon Xiao <sixiao@microsoft.com>
Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-05-14 22:49:30 -04:00
..
hyperv_net.h hv_netvsc: use per_cpu stats to calculate TX/RX data 2015-05-14 22:49:30 -04:00
Kconfig
Makefile
netvsc_drv.c hv_netvsc: use per_cpu stats to calculate TX/RX data 2015-05-14 22:49:30 -04:00
netvsc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-05-13 14:31:43 -04:00
rndis_filter.c hv_netvsc: introduce netif-msg into netvsc module 2015-04-29 14:45:17 -04:00