On Fri, Sep 27, 2019 at 08:37:59PM +0200, Adrian Moreno wrote:
> The simltaneous use of dequeue_zero_copy and IOMMU is problematic.
> Not only because IOVA_VA mode is not supported but also because the
> potential invalidation of guest pages while the buffers are in use,
> is not handled.
> 
> Prevent these two features to be enabled simultaneosly.
> 
> Fixes: 69c90e98f483 ("vhost: enable IOMMU support")
> Cc: maxime.coque...@redhat.com
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Adrian Moreno <amore...@redhat.com>
> ---
>  lib/librte_vhost/socket.c | 8 ++++++++
>  1 file changed, 8 insertions(+)

Reviewed-by: Tiwei Bie <tiwei....@intel.com>

> 
> diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c
> index 274988c4d..534a7ffe3 100644
> --- a/lib/librte_vhost/socket.c
> +++ b/lib/librte_vhost/socket.c
> @@ -871,6 +871,14 @@ rte_vhost_driver_register(const char *path, uint64_t 
> flags)
>       }
>       vsocket->dequeue_zero_copy = flags & RTE_VHOST_USER_DEQUEUE_ZERO_COPY;
>  
> +     if (vsocket->dequeue_zero_copy &&
> +        (flags & RTE_VHOST_USER_IOMMU_SUPPORT)) {

It's better to add one more space before '(flags ...'

> +             RTE_LOG(ERR, VHOST_CONFIG,
> +                     "error: enabling dequeue zero copy and IOMMU features "
> +                     "simultaneously is not supported\n");
> +             goto out_mutex;
> +     }
> +
>       /*
>        * Set the supported features correctly for the builtin vhost-user
>        * net driver.
> -- 
> 2.21.0
> 

Reply via email to