qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 09/10] vfio/migration: Don't block migration device dirty


From: Joao Martins
Subject: Re: [PATCH v3 09/10] vfio/migration: Don't block migration device dirty tracking is unsupported
Date: Tue, 9 Jul 2024 10:09:36 +0100

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.martins@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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]