net/i40e: remove compiler barrier from NEON Rx
authorGavin Hu <gavin.hu@arm.com>
Tue, 13 Aug 2019 10:43:31 +0000 (18:43 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 3 Sep 2019 15:12:37 +0000 (17:12 +0200)
As packet length extraction code was simplified,the ordering
was not necessary any more.[1]

2% performance gain was measured on Marvell ThunderX2.
4.3% performance gain was measured on Ampere eMAG80

[1] http://mails.dpdk.org/archives/dev/2016-April/037529.html

Fixes: ae0eb310f253 ("net/i40e: implement vector PMD for ARM")
Cc: stable@dpdk.org
Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Steve Capper <steve.capper@arm.com>
drivers/net/i40e/i40e_rxtx_vec_neon.c

index 5555e9b..864eb9a 100644 (file)
@@ -307,9 +307,6 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
                        rte_mbuf_prefetch_part2(rx_pkts[pos + 3]);
                }
 
-               /* avoid compiler reorder optimization */
-               rte_compiler_barrier();
-
                /* pkt 3,4 shift the pktlen field to be 16-bit aligned*/
                uint32x4_t len3 = vshlq_u32(vreinterpretq_u32_u64(descs[3]),
                                            len_shl);