2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 22:35:15 +00:00

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 <mauricio.vasquezbernal@studenti.polito.it>
Acked-by: Flavio Leitner <fbl@sysclose.org>
Acked-by: Daniele Di Proietto <diproiettod@vmware.com>
This commit is contained in:
Mauricio Vasquez B
2015-11-16 23:24:47 +01:00
committed by Daniele Di Proietto
parent e9d6808ca6
commit 8f0a76c9a1

View File

@@ -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;