[dpdk-dev] [PATCH] ixgbe:Add write memory barrier for recv pkts.

WangDong dong.wang.pro at hotmail.com
Sat Apr 11 17:33:35 CEST 2015


Like transmit packets, before update receive descriptor's tail pointer, rte_wmb() should be added after writing recv descriptor.

Signed-off-by: Dong Wang <dong.wang.pro at hotmail.com>
---
 lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
index 9da2c7e..d504688 100644
--- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
+++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
@@ -1338,6 +1338,9 @@ ixgbe_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
 		 */
 		rx_pkts[nb_rx++] = rxm;
 	}
+
+	rte_wmb();
+
 	rxq->rx_tail = rx_id;
 
 	/*
@@ -1595,6 +1598,8 @@ ixgbe_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
 		first_seg = NULL;
 	}
 
+	rte_wmb();
+
 	/*
 	 * Record index of the next RX descriptor to probe.
 	 */
-- 
1.9.1



More information about the dev mailing list