net/mlx5: mitigate Rx doorbell memory barrier
The RQ WQEs must be written in the memory before the HW gets the RQ doorbell, hence a memory barrier should be triggered after the WQEs writing and before the doorbell writing. The current code used rte_wmb barrier which ensures that all the memory stores were done while it is enough to use rte_cio_wmb barrier for the local memory stores because the WQEs are in local memory. CC: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
This commit is contained in:
parent
15b0ea0053
commit
6cfb153006
@ -1076,7 +1076,7 @@ mlx5_rxq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
|
||||
rxq_data->decompressed = 0;
|
||||
/* Update doorbell counter. */
|
||||
rxq_data->rq_ci = wqe_n >> rxq_data->sges_n;
|
||||
rte_wmb();
|
||||
rte_cio_wmb();
|
||||
*rxq_data->rq_db = rte_cpu_to_be_32(rxq_data->rq_ci);
|
||||
DRV_LOG(DEBUG, "port %u rxq %u updated with %p", dev->data->port_id,
|
||||
idx, (void *)&tmpl);
|
||||
|
Loading…
Reference in New Issue
Block a user