[dpdk-dev] [PATCH v1] vhost: dequeue zero copy with linear buffers

Maxime Coquelin maxime.coquelin at redhat.com
Thu Apr 9 16:08:55 CEST 2020



On 3/26/20 9:03 AM, Sivaprasad Tummala wrote:
> Removed the linear buffer and zero_copy compatibility restriction.
> 
> Applications that requires packets contained in a single buffer
> will enable linear buffer in vhost library. This restriction
> is not allowing zero_copy mode for such cases.

As discussed off-list, this restriction makes sense because we cannot
control how the guest splits the packets into chained descriptors.

So as soon as the zero-copy is enabled, we cannot guarantee the
application that buffers will be linear.

Regards,
Maxime

> Signed-off-by: Sivaprasad Tummala <Sivaprasad.Tummala at intel.com>
> ---
>  lib/librte_vhost/socket.c | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c
> index 7c8012179..e1afc290e 100644
> --- a/lib/librte_vhost/socket.c
> +++ b/lib/librte_vhost/socket.c
> @@ -920,12 +920,6 @@ rte_vhost_driver_register(const char *path, uint64_t flags)
>  			ret = -1;
>  			goto out_mutex;
>  		}
> -		if (vsocket->linearbuf) {
> -			VHOST_LOG_CONFIG(ERR,
> -			"error: zero copy is incompatible with linear buffers\n");
> -			ret = -1;
> -			goto out_mutex;
> -		}
>  		vsocket->supported_features &= ~(1ULL << VIRTIO_F_IN_ORDER);
>  		vsocket->features &= ~(1ULL << VIRTIO_F_IN_ORDER);
>  
> 



More information about the dev mailing list