RE: [PATCH v5 00/19] Add vfio_device cdev for iommufd support

Liu, Yi L
2023-03-16T07:40:36Z

> From: Nicolin Chen <nicolinc@nvidia.com>
> Sent: Thursday, March 16, 2023 7:23 AM
>
> On Tue, Mar 14, 2023 at 11:38:11AM +0000, Shameerali Kolothum Thodi
> wrote:
>
> > Hi Nicolin,
> >
> > I rebased your latest Qemu branch[1] on top of v7.2.0 and not observed
> > the above issue so far. However noticed couple of other issues when
> > we try to hot add/remove devices.
> >
> > (qemu) device_del net1
> > qemu-system-aarch64-iommufd: Failed to free id: 4 Inappropriate ioctl for
> device
> > qemu-system-aarch64-iommufd: IOMMU_IOAS_UNMAP failed: No such
> file or directory
> > qemu-system-aarch64-iommufd: vfio_dma_unmap(0xaaaaf587a3d0,
> 0x8000101000, 0xf000) = -2 (No such file or directory)
> > qemu-system-aarch64-iommufd: IOMMU_IOAS_UNMAP failed: No such
> file or directory
> > qemu-system-aarch64-iommufd: vfio_dma_unmap(0xaaaaf587a3d0,
> 0x8000000000, 0x100000) = -2 (No such file or directory)
> > qemu-system-aarch64-iommufd: Failed to free id:1 Device or resource
> busy
> >
> > Ignoring the MMIO UNMAP errors, it looks like the object free is
> > not proper on dev removal path. I have few quick fixes here
> > for this,
> > https://github.com/hisilicon/qemu/tree/private-v7.2.0-iommufd-nesting
>
> The smmuv3 change looks good to me. I will let Yi check the
> iommufd change.
>
> Yi, I wonder if this is the hot reset case that you asked me
> for, a couple of weeks ago.

Aha, not really. What Thodi does is the hot removal which is emulating
hot-plug out a physical device from the PCI slot. It may trigger hot reset
though since reset is something needs to be done during it. However,
it's not a focus test as I asked weeks ago. 😊

Regards,
Yi Liu