From: Xiao Wang Date: Wed, 8 Jan 2020 13:37:08 +0000 (-0500) Subject: net/af_xdp: use single producer/consumer ring X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=489e0b5b33209d929dc490cc591abd840dcefdfc;p=dpdk.git net/af_xdp: use single producer/consumer ring The ring is used only by af_xdp PMD itself, so no need to support multi-producer and multi-consumer mode. This patch changes the ring to single-producer and single-consumer mode, which could yield better performance for addr enqueue and dequeue. Signed-off-by: Xiao Wang Tested-by: Ciara Loftus Acked-by: Xiaolong Ye --- diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c index d903e6c28a..683e2a5594 100644 --- a/drivers/net/af_xdp/rte_eth_af_xdp.c +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c @@ -809,7 +809,7 @@ xsk_umem_info *xdp_umem_configure(struct pmd_internals *internals, umem->buf_ring = rte_ring_create(ring_name, ETH_AF_XDP_NUM_BUFFERS, rte_socket_id(), - 0x0); + RING_F_SP_ENQ | RING_F_SC_DEQ); if (umem->buf_ring == NULL) { AF_XDP_LOG(ERR, "Failed to create rte_ring\n"); goto err;