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.tumm...@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);
>  
> 

Reply via email to