hisi_acc_vfio_pci: Remove the deferred_reset logic
authorShameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Thu, 29 Feb 2024 09:11:52 +0000 (09:11 +0000)
committerAlex Williamson <alex.williamson@redhat.com>
Tue, 5 Mar 2024 22:15:13 +0000 (15:15 -0700)
commitfd94213e1417d28b933d4a3d41ad02eac1b29ec2
tree3bdcb6e3eeee699a13dcf35de450f39ec973e4d6
parent5b992412776cdf2ec88b5b5138112e6b36e47995
hisi_acc_vfio_pci: Remove the deferred_reset logic

The deferred_reset logic was added to vfio migration drivers to prevent
a circular locking dependency with respect to mm_lock and state mutex.
This is mainly because of the copy_to/from_user() functions(which takes
mm_lock) invoked under state mutex. But for HiSilicon driver, the only
place where we now hold the state mutex for copy_to_user is during the
PRE_COPY IOCTL. So for pre_copy, release the lock as soon as we have
updated the data and perform copy_to_user without state mutex. By this,
we can get rid of the deferred_reset logic.

Link: https://lore.kernel.org/kvm/20240220132459.GM13330@nvidia.com/
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Reviewed-by: Brett Creeley <brett.creeley@amd.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20240229091152.56664-1-shameerali.kolothum.thodi@huawei.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.h