diff options
author | Saeed Mahameed <saeedm@mellanox.com> | 2017-03-25 00:52:03 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-03-24 19:11:44 -0700 |
commit | 80fe326ab8f5ac6c41786fa534a220c6e3f5beaf (patch) | |
tree | 40ec9afac5c6750903f05b06d55817e4fd84feda /drivers/net/ethernet | |
parent | 68e498554f598d8a6596c85bb661e9a68cafd673 (diff) | |
download | blackbird-op-linux-80fe326ab8f5ac6c41786fa534a220c6e3f5beaf.tar.gz blackbird-op-linux-80fe326ab8f5ac6c41786fa534a220c6e3f5beaf.zip |
net/mlx5e: Use dma_rmb rather than rmb in CQE fetch routine
Use dma_rmb in mlx5e_get_cqe rather than aggressive rmb (at least on
some architectures), this should help improve the performance on such
CPU archs where dma_rmb is optimized.
Performance improvement:
System: Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz
Test case Baseline Now improvement
---------------------------------------------------------------
TX packets (24 threads) 45Mpps 50Mpps 11%
TC stack Drop (1 core) 3.45Mpps 3.6Mpps 5%
XDP Drop (1 core) 14Mpps 16.9Mpps 20%
XDP TX (1 core) 10.4Mpps 12Mpps 15%
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c index e5c12a732aa1..d8cda2f6239b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c @@ -44,7 +44,7 @@ struct mlx5_cqe64 *mlx5e_get_cqe(struct mlx5e_cq *cq) return NULL; /* ensure cqe content is read after cqe ownership bit */ - rmb(); + dma_rmb(); return cqe; } |