> -----Original Message-----
> From: dev <dev-boun...@dpdk.org> On Behalf Of Matan Azrad
> Sent: Thursday, June 25, 2020 9:38 PM
> To: Maxime Coquelin <maxime.coque...@redhat.com>
> Cc: dev@dpdk.org; Wang, Xiao W <xiao.w.w...@intel.com>
> Subject: [dpdk-dev] [PATCH v2 4/5] vhost: notify virtq file descriptor update
> 
> When virtq call or kick file descriptors are changed in the device 
> configuration
> when the queue is ready, the application and the vDPA driver should be 
> notified
> to be aligned to the new file descriptors.
> 
> Notify the state to be disabled before the file descriptor update and return 
> it
> back to be enabled after the update.
> 
> Signed-off-by: Matan Azrad <ma...@mellanox.com>
> ---
>  lib/librte_vhost/vhost_user.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c 
> index
> f690fdb..f3966b6 100644
> --- a/lib/librte_vhost/vhost_user.c
> +++ b/lib/librte_vhost/vhost_user.c
> @@ -1624,6 +1624,12 @@
>               "vring call idx:%d file:%d\n", file.index, file.fd);
> 
>       vq = dev->virtqueue[file.index];
> +
> +     if (vq->ready) {
> +             vhost_user_notify_queue_state(dev, file.index, 0);
> +             vq->ready = 0;
> +     }
> +
>       if (vq->callfd >= 0)
>               close(vq->callfd);
> 
> @@ -1882,6 +1888,11 @@ static int vhost_user_set_vring_err(struct virtio_net
> **pdev __rte_unused,
>                               dev->vid, file.index, 1);
>       }
> 
> +     if (vq->ready) {
> +             vhost_user_notify_queue_state(dev, file.index, 0);
> +             vq->ready = 0;
> +     }
> +
>       if (vq->kickfd >= 0)
>               close(vq->kickfd);
>       vq->kickfd = file.fd;
> --
> 1.8.3.1

Reviewed-by: Chenbo Xia <chenbo....@intel.com>

Reply via email to