From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Kinzie Subject: [PATCH 2/2] ixgbe: add memory barriers in vector rx/tx Date: Thu, 25 Jun 2015 11:25:41 -0700 Message-ID: <1435256741-25489-3-git-send-email-ehkinzie@gmail.com> References: <1435256741-25489-1-git-send-email-ehkinzie@gmail.com> To: dev@dpdk.org Return-path: Received: from mail-pd0-f172.google.com (mail-pd0-f172.google.com [209.85.192.172]) by dpdk.org (Postfix) with ESMTP id F0696C6E2 for ; Thu, 25 Jun 2015 20:26:19 +0200 (CEST) Received: by pdbci14 with SMTP id ci14so58355800pdb.2 for ; Thu, 25 Jun 2015 11:26:19 -0700 (PDT) In-Reply-To: <1435256741-25489-1-git-send-email-ehkinzie@gmail.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Add write memory barrier before writing tail pointer. Fixes c95584dc2b18 ("ixgbe: new vectorized functions for Rx/Tx") Signed-off-by: Eric Kinzie --- 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