net/af_xdp: revert change to SP/SC ring for copy mode
Checks
Commit Message
This reverts commit 489e0b5b33209d929dc490cc591abd840dcefdfc.
The ring used in copy mode should be multi-producer multi-consumer
because enqueues and dequeues to the ring are performed on both the rx
and tx paths, which can be running on different threads.
Fixes: 489e0b5b3320 ("net/af_xdp: use single producer/consumer ring")
Cc: stable@dpdk.org
Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On 6/25/2020 2:39 PM, Ciara Loftus wrote:
> This reverts commit 489e0b5b33209d929dc490cc591abd840dcefdfc.
>
> The ring used in copy mode should be multi-producer multi-consumer
> because enqueues and dequeues to the ring are performed on both the rx
> and tx paths, which can be running on different threads.
>
> Fixes: 489e0b5b3320 ("net/af_xdp: use single producer/consumer ring")
> Cc: stable@dpdk.org
>
> Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
Applied to dpdk-next-net/master, thanks.
@@ -820,7 +820,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(),
- RING_F_SP_ENQ | RING_F_SC_DEQ);
+ 0x0);
if (umem->buf_ring == NULL) {
AF_XDP_LOG(ERR, "Failed to create rte_ring\n");
goto err;