[dpdk-dev] [PATCH 18/29] net/ena: remove memory barriers before doorbells
Michal Krawczyk
mk at semihalf.com
Fri Mar 27 11:18:12 CET 2020
The doorbell code is already issuing the doorbell by using rte_write.
Because of that, there is no need to do that before calling the
function.
Signed-off-by: Michal Krawczyk <mk at semihalf.com>
Reviewed-by: Igor Chauskin <igorch at amazon.com>
Reviewed-by: Guy Tzalik <gtzalik at amazon.com>
---
drivers/net/ena/ena_ethdev.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index b8bf31be7c..19a43400d5 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -1451,12 +1451,7 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
/* When we submitted free recources to device... */
if (likely(i > 0)) {
- /* ...let HW know that it can fill buffers with data
- *
- * Add memory barrier to make sure the desc were written before
- * issue a doorbell
- */
- rte_wmb();
+ /* ...let HW know that it can fill buffers with data. */
ena_com_write_sq_doorbell(rxq->ena_com_io_sq);
rxq->next_to_use = next_to_use;
@@ -2389,7 +2384,6 @@ static uint16_t eth_ena_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
PMD_DRV_LOG(DEBUG, "llq tx max burst size of queue %d"
" achieved, writing doorbell to send burst\n",
tx_ring->id);
- rte_wmb();
ena_com_write_sq_doorbell(tx_ring->ena_com_io_sq);
}
@@ -2412,7 +2406,6 @@ static uint16_t eth_ena_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
/* If there are ready packets to be xmitted... */
if (sent_idx > 0) {
/* ...let HW do its best :-) */
- rte_wmb();
ena_com_write_sq_doorbell(tx_ring->ena_com_io_sq);
tx_ring->tx_stats.doorbells++;
tx_ring->next_to_use = next_to_use;
--
2.20.1
More information about the dev
mailing list