mlx5: Add software tx_jumbo_packets counter

This counter will represent transmitted packets which has more than
1518 octets.
The NIC has multiple hardware counters for counting transmitted
packets larger than 1518 octets. Each counter counts the packets
in specific range.
We accumulate those counters to have a single counter.

Approved by:    hselasky (mentor)
MFC after:      1 week
Sponsored by:   Mellanox Technologies
This commit is contained in:
Slava Shwartsman 2018-12-05 13:45:37 +00:00
parent feb5f357ea
commit 8718eb63f8
2 changed files with 8 additions and 1 deletions

View file

@ -178,7 +178,8 @@ typedef void (mlx5e_cq_comp_t)(struct mlx5_core_cq *);
m(+1, u64 tx_csum_offload, "tx_csum_offload", "Transmit checksum offload packets") \
m(+1, u64 tx_queue_dropped, "tx_queue_dropped", "Transmit queue dropped") \
m(+1, u64 tx_defragged, "tx_defragged", "Transmit queue defragged") \
m(+1, u64 rx_wqe_err, "rx_wqe_err", "Receive WQE errors")
m(+1, u64 rx_wqe_err, "rx_wqe_err", "Receive WQE errors") \
m(+1, u64 tx_jumbo_packets, "tx_jumbo_packets", "TX packets greater than 1518 octets")
#define MLX5E_VPORT_STATS_NUM (0 MLX5E_VPORT_STATS(MLX5E_STATS_COUNT))

View file

@ -502,6 +502,12 @@ mlx5e_update_stats_work(struct work_struct *work)
}
}
s->tx_jumbo_packets =
priv->stats.port_stats_debug.p1519to2047octets +
priv->stats.port_stats_debug.p2048to4095octets +
priv->stats.port_stats_debug.p4096to8191octets +
priv->stats.port_stats_debug.p8192to10239octets;
/* update counters */
s->tso_packets = tso_packets;
s->tso_bytes = tso_bytes;