From 489e0b5b33209d929dc490cc591abd840dcefdfc Mon Sep 17 00:00:00 2001 From: Xiao Wang Date: Wed, 8 Jan 2020 08:37:08 -0500 Subject: [PATCH] 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 --- drivers/net/af_xdp/rte_eth_af_xdp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; -- 2.20.1