mirror of https://gitee.com/openkylin/linux.git
net/mlx4_en: Use HW counters for rx/tx bytes/packets in PF device
Under SRIOV, the port rx/tx bytes/packets statistics should by read from the HW instead of using the PF netdevice SW accounting. This is needed in order to get the full port statistics and not just the PF own ones Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9a2abf5a80
commit
f1a3badb0b
|
@ -203,6 +203,20 @@ int mlx4_en_DUMP_ETH_STATS(struct mlx4_en_dev *mdev, u8 port, u8 reset)
|
|||
priv->port_stats.tso_packets += ring->tso_packets;
|
||||
priv->port_stats.xmit_more += ring->xmit_more;
|
||||
}
|
||||
if (mlx4_is_master(mdev->dev)) {
|
||||
stats->rx_packets = en_stats_adder(&mlx4_en_stats->RTOT_prio_0,
|
||||
&mlx4_en_stats->RTOT_prio_1,
|
||||
NUM_PRIORITIES);
|
||||
stats->tx_packets = en_stats_adder(&mlx4_en_stats->TTOT_prio_0,
|
||||
&mlx4_en_stats->TTOT_prio_1,
|
||||
NUM_PRIORITIES);
|
||||
stats->rx_bytes = en_stats_adder(&mlx4_en_stats->ROCT_prio_0,
|
||||
&mlx4_en_stats->ROCT_prio_1,
|
||||
NUM_PRIORITIES);
|
||||
stats->tx_bytes = en_stats_adder(&mlx4_en_stats->TOCT_prio_0,
|
||||
&mlx4_en_stats->TOCT_prio_1,
|
||||
NUM_PRIORITIES);
|
||||
}
|
||||
|
||||
/* net device stats */
|
||||
stats->rx_errors = be64_to_cpu(mlx4_en_stats->PCS) +
|
||||
|
|
Loading…
Reference in New Issue