qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 4/9] vfio/migration: Skip pre-copy if dirty page tracking is


From: Avihai Horon
Subject: Re: [PATCH 4/9] vfio/migration: Skip pre-copy if dirty page tracking is not supported
Date: Tue, 24 May 2022 18:11:40 +0300
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0


On 5/18/2022 6:50 PM, Jason Gunthorpe wrote:
On Wed, May 18, 2022 at 01:39:31PM +0200, Juan Quintela wrote:

That does seem like a defect in this patch, any SLA constraints should
still all be checked under the assumption all ram is dirty.
And how are we going to:
- detect the network link speed
- to be sure that we are inside downtime limit

I think that it is not possible, so basically we are skiping the precopy
stage and praying that the other bits are going to be ok.
Like I keep saying, this is not a real use case, we expect dirty
tracking to be available in any real configuration. This is just
trying to make qemu work in some reasonable way if dirty tracking is
not available but a VFIO migration device is plugged in.

Just pick something simple that makes sense. Like if any SLA is set
then just refuse to even start. If no SLA then go directly to
STOP_COPY.

I tried to follow Jason's suggestion to check if there is any SLA and block migration, or no SLA at all and allow migration.

It doesn't seem like there is a way to say "no SLA at all".

Migration param downtime_limit takes values between 0 and 2000 seconds.

What does downtime_limit=0 mean?

If it's 0 then MigrationState->threshold_size = 0, so ram_save_pending() will never call migration_bitmap_sync_precopy(). Only upon entering stop-copy phase will migration_bitmap_sync_precopy() be called, which will collect all pages that were dirtied during pre-copy, which could be a lot and impact downtime.

In libvirt it seems that downtime_limit = 0 is not valid and can't be set.

Am I missing something here? Is there a way to allow unlimited downtime?


Thanks.





reply via email to

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