A 'DMB' is enough to evict the merge buffer on aarch64,when the doorbell register is mapped as 'Normal-NC', the counterpart of WC on x86.
Otherwise, it is mapped as Device memory, no barriers required at all. Signed-off-by: Gavin Hu <gavin...@arm.com> --- drivers/net/mlx5/mlx5_rxtx.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h index 939778aa5..e509f3b88 100644 --- a/drivers/net/mlx5/mlx5_rxtx.h +++ b/drivers/net/mlx5/mlx5_rxtx.h @@ -661,7 +661,7 @@ mlx5_tx_dbrec_cond_wmb(struct mlx5_txq_data *txq, volatile struct mlx5_wqe *wqe, rte_wmb(); mlx5_uar_write64_relaxed(*src, dst, txq->uar_lock); if (cond) - rte_wmb(); + rte_dma_wmb(); } /** -- 2.17.1