From 8f0a76c9a187206e7a98abc669235721c87a06cf Mon Sep 17 00:00:00 2001 From: Mauricio Vasquez B Date: Mon, 16 Nov 2015 23:24:47 +0100 Subject: [PATCH] netdev-dpdk: assume dpdkr peer can be multi-producer/consumer Although netdev does explicit locking, it is only valid from the ovs perspective, then only the ring ends used by ovs should be declared as single producer/consumer. The other ends that are used by the application should be declared as multiple producer/consumer that is the most general case. Signed-off-by: Mauricio Vasquez B Acked-by: Flavio Leitner Acked-by: Daniele Di Proietto --- lib/netdev-dpdk.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 4658416dc..e3a0771fc 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -1931,9 +1931,9 @@ dpdk_ring_create(const char dev_name[], unsigned int port_no, return -err; } - /* Create single consumer/producer rings, netdev does explicit locking. */ + /* Create single producer tx ring, netdev does explicit locking. */ ivshmem->cring_tx = rte_ring_create(ring_name, DPDK_RING_SIZE, SOCKET0, - RING_F_SP_ENQ | RING_F_SC_DEQ); + RING_F_SP_ENQ); if (ivshmem->cring_tx == NULL) { rte_free(ivshmem); return ENOMEM; @@ -1944,9 +1944,9 @@ dpdk_ring_create(const char dev_name[], unsigned int port_no, return -err; } - /* Create single consumer/producer rings, netdev does explicit locking. */ + /* Create single consumer rx ring, netdev does explicit locking. */ ivshmem->cring_rx = rte_ring_create(ring_name, DPDK_RING_SIZE, SOCKET0, - RING_F_SP_ENQ | RING_F_SC_DEQ); + RING_F_SC_DEQ); if (ivshmem->cring_rx == NULL) { rte_free(ivshmem); return ENOMEM; -- 2.39.5