On 09/07/2024 08:02, Cédric Le Goater wrote: > On 7/8/24 4:34 PM, Joao Martins wrote: >> By default VFIO migration is set to auto, which will support live >> migration if the migration capability is set *and* also dirty page >> tracking is supported. >> >> For testing purposes one can force enable without dirty page tracking >> via enable-migration=on, but that option is generally left for testing >> purposes. >> >> So starting with IOMMU dirty tracking it can use to acomodate the lack of >> VF dirty page tracking allowing us to minimize the VF requirements for >> migration and thus enabling migration by default for those. >> >> Signed-off-by: Joao Martins <joao.m.mart...@oracle.com> >> --- >> hw/vfio/migration.c | 6 +++++- >> 1 file changed, 5 insertions(+), 1 deletion(-) >> >> diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c >> index 34d4be2ce1b1..89195928666f 100644 >> --- a/hw/vfio/migration.c >> +++ b/hw/vfio/migration.c >> @@ -1012,6 +1012,7 @@ void vfio_reset_bytes_transferred(void) >> */ >> bool vfio_migration_realize(VFIODevice *vbasedev, Error **errp) >> { >> + HostIOMMUDeviceClass *hiodc = >> HOST_IOMMU_DEVICE_GET_CLASS(vbasedev->hiod); >> Error *err = NULL; >> int ret; >> @@ -1036,7 +1037,10 @@ bool vfio_migration_realize(VFIODevice *vbasedev, >> Error **errp) >> return !vfio_block_migration(vbasedev, err, errp); >> } >> - if (!vbasedev->dirty_pages_supported) { >> + if (!vbasedev->dirty_pages_supported && >> + (vbasedev->iommufd && > > > I don't think we need to check ->iommufd. The class handler below will > return false for the vfio/legacy backend. >
OK Joao