forked from Minki/linux
net/mlx5e: TX, Separate cachelines of xmit and completion stats
Avoid false sharing of cachelines by separating the cachelines of TX stats that are dertied in xmit flow and in completion flow. Signed-off-by: Tariq Toukan <tariqt@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
parent
5ffd81943d
commit
f65a59ffbc
@ -64,11 +64,11 @@ static const struct counter_desc sw_stats_desc[] = {
|
||||
{ MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, tx_csum_partial) },
|
||||
{ MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, tx_csum_partial_inner) },
|
||||
{ MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, tx_queue_stopped) },
|
||||
{ MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, tx_queue_wake) },
|
||||
{ MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, tx_queue_dropped) },
|
||||
{ MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, tx_xmit_more) },
|
||||
{ MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, tx_cqe_err) },
|
||||
{ MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, tx_recover) },
|
||||
{ MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, tx_queue_wake) },
|
||||
{ MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, tx_cqe_err) },
|
||||
{ MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_wqe_err) },
|
||||
{ MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_mpwqe_filler) },
|
||||
{ MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_buff_alloc_err) },
|
||||
@ -1137,11 +1137,11 @@ static const struct counter_desc sq_stats_desc[] = {
|
||||
{ MLX5E_DECLARE_TX_STAT(struct mlx5e_sq_stats, nop) },
|
||||
{ MLX5E_DECLARE_TX_STAT(struct mlx5e_sq_stats, csum_none) },
|
||||
{ MLX5E_DECLARE_TX_STAT(struct mlx5e_sq_stats, stopped) },
|
||||
{ MLX5E_DECLARE_TX_STAT(struct mlx5e_sq_stats, wake) },
|
||||
{ MLX5E_DECLARE_TX_STAT(struct mlx5e_sq_stats, dropped) },
|
||||
{ MLX5E_DECLARE_TX_STAT(struct mlx5e_sq_stats, xmit_more) },
|
||||
{ MLX5E_DECLARE_TX_STAT(struct mlx5e_sq_stats, cqe_err) },
|
||||
{ MLX5E_DECLARE_TX_STAT(struct mlx5e_sq_stats, recover) },
|
||||
{ MLX5E_DECLARE_TX_STAT(struct mlx5e_sq_stats, wake) },
|
||||
{ MLX5E_DECLARE_TX_STAT(struct mlx5e_sq_stats, cqe_err) },
|
||||
};
|
||||
|
||||
static const struct counter_desc ch_stats_desc[] = {
|
||||
|
@ -75,11 +75,11 @@ struct mlx5e_sw_stats {
|
||||
u64 tx_csum_partial;
|
||||
u64 tx_csum_partial_inner;
|
||||
u64 tx_queue_stopped;
|
||||
u64 tx_queue_wake;
|
||||
u64 tx_queue_dropped;
|
||||
u64 tx_xmit_more;
|
||||
u64 tx_cqe_err;
|
||||
u64 tx_recover;
|
||||
u64 tx_queue_wake;
|
||||
u64 tx_cqe_err;
|
||||
u64 rx_wqe_err;
|
||||
u64 rx_mpwqe_filler;
|
||||
u64 rx_buff_alloc_err;
|
||||
@ -203,10 +203,11 @@ struct mlx5e_sq_stats {
|
||||
/* less likely accessed in data path */
|
||||
u64 csum_none;
|
||||
u64 stopped;
|
||||
u64 wake;
|
||||
u64 dropped;
|
||||
u64 cqe_err;
|
||||
u64 recover;
|
||||
/* dirtied @completion */
|
||||
u64 wake ____cacheline_aligned_in_smp;
|
||||
u64 cqe_err;
|
||||
};
|
||||
|
||||
struct mlx5e_ch_stats {
|
||||
|
Loading…
Reference in New Issue
Block a user