From 1ef8c6290c86caef6cc588c8737450383a59338a Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 4 Nov 2020 09:03:10 -0800 Subject: [PATCH] net/bnxt: remove useless prefetches Prefetching only helps performance if it is done several 100 instructions before the actual use. The purpose of the prefetch is to read ahead, it doesn't help if the next instruction will block. The code in the bnxt driver was doing these unnecessary prefetches. Fixes: 2eb53b134aae ("net/bnxt: add initial Rx code") Cc: stable@dpdk.org Signed-off-by: Stephen Hemminger Acked-by: Lance Richardson Acked-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_rxr.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c index e375b31ed8..fdbe6f71ea 100644 --- a/drivers/net/bnxt/bnxt_rxr.c +++ b/drivers/net/bnxt/bnxt_rxr.c @@ -306,7 +306,6 @@ static inline struct rte_mbuf *bnxt_tpa_end( mbuf = tpa_info->mbuf; RTE_ASSERT(mbuf != NULL); - rte_prefetch0(mbuf); if (agg_bufs) { bnxt_rx_pages(rxq, mbuf, raw_cp_cons, agg_bufs, tpa_info); } @@ -734,8 +733,6 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt, if (mbuf == NULL) return -EBUSY; - rte_prefetch0(mbuf); - mbuf->data_off = RTE_PKTMBUF_HEADROOM; mbuf->nb_segs = 1; mbuf->next = NULL; @@ -867,7 +864,6 @@ uint16_t bnxt_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, /* Handle RX burst request */ while (1) { cons = RING_CMP(cpr->cp_ring_struct, raw_cons); - rte_prefetch0(&cpr->cp_desc_ring[cons]); rxcmp = (struct rx_pkt_cmpl *)&cpr->cp_desc_ring[cons]; if (!CMP_VALID(rxcmp, raw_cons, cpr->cp_ring_struct)) -- 2.20.1