From mboxrd@z Thu Jan 1 00:00:00 1970 From: Damjan Marion Subject: [PATCH] i40e: prefetch next mbuf in rx alloc code Date: Thu, 11 Jun 2015 00:19:25 +0200 Message-ID: <1433974765-136411-1-git-send-email-damarion@cisco.com> Cc: Damjan Marion To: dev@dpdk.org Return-path: Received: from aer-iport-3.cisco.com (aer-iport-3.cisco.com [173.38.203.53]) by dpdk.org (Postfix) with ESMTP id 73779C2DC for ; Thu, 11 Jun 2015 00:20:03 +0200 (CEST) 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" This patch improves performance of vectored rx on i40e devices. Signed-off-by: Damjan Marion --- drivers/net/i40e/i40e_rxtx.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index 2de0ac4..152e9e6 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -778,6 +778,11 @@ i40e_rx_alloc_bufs(struct i40e_rx_queue *rxq) rxdp = &rxq->rx_ring[alloc_idx]; for (i = 0; i < rxq->rx_free_thresh; i++) { + + /* Prefetch next mbuf */ + if (i < (rxq->rx_free_thresh - 1)) + rte_prefetch0 (rxep[i+1].mbuf); + mb = rxep[i].mbuf; rte_mbuf_refcnt_set(mb, 1); mb->next = NULL; -- 2.1.4