[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 18/40] vdpa: unregister listener on last dev cleanup
From: |
Jason Wang |
Subject: |
Re: [PATCH 18/40] vdpa: unregister listener on last dev cleanup |
Date: |
Thu, 11 Jan 2024 16:26:11 +0800 |
On Fri, Dec 8, 2023 at 2:50 AM Si-Wei Liu <si-wei.liu@oracle.com> wrote:
>
> So that the free of iova tree struct can be safely deferred to
> until the last vq referencing it goes away.
>
> Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
> ---
> hw/virtio/vhost-vdpa.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c
> index 4f026db..ea2dfc8 100644
> --- a/hw/virtio/vhost-vdpa.c
> +++ b/hw/virtio/vhost-vdpa.c
> @@ -815,7 +815,10 @@ static int vhost_vdpa_cleanup(struct vhost_dev *dev)
> }
>
> vhost_vdpa_host_notifiers_uninit(dev, dev->nvqs);
> - memory_listener_unregister(&v->shared->listener);
> + if (vhost_vdpa_last_dev(dev) && v->shared->listener_registered) {
> + memory_listener_unregister(&v->shared->listener);
> + v->shared->listener_registered = false;
> + }
Can we move this to the put() (refcnt decreasing helper) of shared?
Thanks
> vhost_vdpa_svq_cleanup(dev);
>
> dev->opaque = NULL;
> --
> 1.8.3.1
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH 18/40] vdpa: unregister listener on last dev cleanup,
Jason Wang <=