Let rx_out_of_buffer be a 32-bit counter in mlx5en(4).
This fixes counting issues when the firmware resets the counter during allocation of the counter set where the counter belongs. MFC after: 3 days Sponsored by: Mellanox Technologies
This commit is contained in:
parent
c29b90ba68
commit
752b8aabfa
@ -196,7 +196,6 @@ struct mlx5e_vport_stats {
|
|||||||
struct sysctl_ctx_list ctx;
|
struct sysctl_ctx_list ctx;
|
||||||
u64 arg [0];
|
u64 arg [0];
|
||||||
MLX5E_VPORT_STATS(MLX5E_STATS_VAR)
|
MLX5E_VPORT_STATS(MLX5E_STATS_VAR)
|
||||||
u32 rx_out_of_buffer_prev;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MLX5E_PPORT_IEEE802_3_STATS(m) \
|
#define MLX5E_PPORT_IEEE802_3_STATS(m) \
|
||||||
|
@ -593,10 +593,7 @@ mlx5e_update_stats_locked(struct mlx5e_priv *priv)
|
|||||||
if (test_bit(MLX5E_STATE_OPENED, &priv->state) != 0 &&
|
if (test_bit(MLX5E_STATE_OPENED, &priv->state) != 0 &&
|
||||||
mlx5_vport_query_out_of_rx_buffer(mdev, priv->counter_set_id,
|
mlx5_vport_query_out_of_rx_buffer(mdev, priv->counter_set_id,
|
||||||
&rx_out_of_buffer) == 0) {
|
&rx_out_of_buffer) == 0) {
|
||||||
/* accumulate difference into a 64-bit counter */
|
s->rx_out_of_buffer = rx_out_of_buffer;
|
||||||
s->rx_out_of_buffer += (u64)(u32)(rx_out_of_buffer -
|
|
||||||
s->rx_out_of_buffer_prev);
|
|
||||||
s->rx_out_of_buffer_prev = rx_out_of_buffer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get port statistics */
|
/* get port statistics */
|
||||||
|
Loading…
Reference in New Issue
Block a user