> -----Original Message-----
> From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Mauricio Vásquez
> Sent: Wednesday, November 11, 2015 8:23 AM
> To: dev@openvswitch.org
> Subject: [ovs-dev] [PATCH] netdev-dpdk: Modify rings creation attributes
> 
> 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 / single consumer.
> The other ends that are used by the application should be declared as
> multiple producer / multiple consumer that is the most general case.

LGTM. It would have a slight performance impact where multi producer/consumer
is not needed, but on balance gives more flexibility and reduces the chance
of a difficult to find bug. 

> 
> Please ignore previous patch that was bad-formatted.
> (http://openvswitch.org/pipermail/dev/2015-November/062079.html)
> 
> Signed-off-by: Mauricio Vasquez B <mauricio.vasquezber...@studenti.polito.it>
> 
> ---
>   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 4658416..e3a0771 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;
> --
> 1.9.1
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to