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 <xiao.w.w...@intel.com> --- 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 d903e6c28..683e2a559 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.15.1