Message ID | 159527934542.26615.503005826695043299.stgit@gimli.home (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | vfio/pci: Hold igate across releasing eventfd contexts | expand |
On Mon, 20 Jul 2020 15:09:27 -0600 Alex Williamson <alex.williamson@redhat.com> wrote: > No need to release and immediately re-acquire igate while clearing > out the eventfd ctxs. > > Signed-off-by: Alex Williamson <alex.williamson@redhat.com> > --- > drivers/vfio/pci/vfio_pci.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c > index b0258b79bb5b..dabca0450e6d 100644 > --- a/drivers/vfio/pci/vfio_pci.c > +++ b/drivers/vfio/pci/vfio_pci.c > @@ -523,14 +523,12 @@ static void vfio_pci_release(void *device_data) > vfio_pci_vf_token_user_add(vdev, -1); > vfio_spapr_pci_eeh_release(vdev->pdev); > vfio_pci_disable(vdev); > + > mutex_lock(&vdev->igate); > if (vdev->err_trigger) { > eventfd_ctx_put(vdev->err_trigger); > vdev->err_trigger = NULL; > } > - mutex_unlock(&vdev->igate); > - > - mutex_lock(&vdev->igate); > if (vdev->req_trigger) { > eventfd_ctx_put(vdev->req_trigger); > vdev->req_trigger = NULL; > Reviewed-by: Cornelia Huck <cohuck@redhat.com>
diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c index b0258b79bb5b..dabca0450e6d 100644 --- a/drivers/vfio/pci/vfio_pci.c +++ b/drivers/vfio/pci/vfio_pci.c @@ -523,14 +523,12 @@ static void vfio_pci_release(void *device_data) vfio_pci_vf_token_user_add(vdev, -1); vfio_spapr_pci_eeh_release(vdev->pdev); vfio_pci_disable(vdev); + mutex_lock(&vdev->igate); if (vdev->err_trigger) { eventfd_ctx_put(vdev->err_trigger); vdev->err_trigger = NULL; } - mutex_unlock(&vdev->igate); - - mutex_lock(&vdev->igate); if (vdev->req_trigger) { eventfd_ctx_put(vdev->req_trigger); vdev->req_trigger = NULL;
No need to release and immediately re-acquire igate while clearing out the eventfd ctxs. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> --- drivers/vfio/pci/vfio_pci.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)