[dpdk-dev] [PATCH 2/2] ixgbe: add memory barriers in vector rx/tx
Eric Kinzie
ehkinzie at gmail.com
Thu Jun 25 20:25:41 CEST 2015
Add write memory barrier before writing tail pointer.
Fixes c95584dc2b18 ("ixgbe: new vectorized functions for Rx/Tx")
Signed-off-by: Eric Kinzie <ehkinzie at gmail.com>
---
drivers/net/ixgbe/ixgbe_rxtx_vec.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec.c b/drivers/net/ixgbe/ixgbe_rxtx_vec.c
index abd10f6..b601de8 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx_vec.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx_vec.c
@@ -123,6 +123,7 @@ ixgbe_rxq_rearm(struct ixgbe_rx_queue *rxq)
(rxq->nb_rx_desc - 1) : (rxq->rxrearm_start - 1));
/* Update the tail pointer on the NIC */
+ rte_wmb();
IXGBE_PCI_REG_WRITE(rxq->rdt_reg_addr, rx_id);
}
@@ -645,6 +646,8 @@ ixgbe_xmit_pkts_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
txq->tx_tail = tx_id;
+ /* update tail pointer */
+ rte_wmb();
IXGBE_PCI_REG_WRITE(txq->tdt_reg_addr, txq->tx_tail);
return nb_pkts;
--
1.7.10.4
More information about the dev
mailing list