]> git.baikalelectronics.ru Git - kernel.git/commit
net/mlx4_en: get rid of ret_stats
authorEric Dumazet <edumazet@google.com>
Wed, 25 May 2016 16:50:38 +0000 (09:50 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 26 May 2016 05:15:50 +0000 (22:15 -0700)
commitf6d92a1df5c7b0149ecc522ec56c67c89c446e9f
tree43fd2851d5d3984ea4f19dabec28885e8970b61c
parent91343d7369c2e30eb89504d1202902f3b1b0058c
net/mlx4_en: get rid of ret_stats

mlx4 uses a private struct net_device_stats in a vain attempt
to avoid races.

This is buggy because multiple cpus could call mlx4_en_get_stats()
at the same time, so ret_stats can not guarantee stable results.

To fix this, we need to switch to ndo_get_stats64() as this
method provides per-thread storage.

This allows to reduce mlx4_en_priv bloat.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Willem de Bruijn <willemb@google.com>
Cc: Eugenia Emantayev <eugenia@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h