Hi ,Vladimir
sometimes ,post-copy mode is not the best choice. For instance, Supposing 
migrate process will take ten minutes,but network may be interruptted In this 
process .
If it does happenthe , memory data of VM will be splitted into two parts, and 
will not be rollback.This is a bad situation


so  migrate-start-postcopy will not be setted in conservative scenario. In this 
case, the migration with block dirty bitmap may not be finished.




I think  migration of block dirty bitmap should not dependent on post-copy or 
pre-copy mode.




Best regards
At 2022-09-10 18:18:04, "Vladimir Sementsov-Ogievskiy" 
<vsement...@yandex-team.ru> wrote:
>On 9/10/22 09:35, liuhaiwei wrote:
>> From: liuhaiwei <liuhai...@inspur.com>
>> 
>> bug description as  https://gitlab.com/qemu-project/qemu/-/issues/1203
>> Usually,we use the precopy or postcopy mode to migrate block dirty bitmap.
>> but if block-dirty-bitmap size more than threshold size,we cannot entry the 
>> migration_completion in migration_iteration_run function
>> To solve this problem, we can setting  the pending size to a fake 
>> value(threshold-1 or 0) to tell  migration_iteration_run function to entry 
>> the migration_completion,if pending size > threshold size
>> 
>
>
>Actually, bitmaps migrate in postcopy. So, you should start postcopy for it to 
>work (qmp command migrate-start-postcopy). This command simply set the boolean 
>variable, so that in migration_iteration_run() we'll move to postcopy when 
>needed. So, you can start this command immediately after migrate command, or 
>even before it, but after setting the "dirty-bitmaps" capability.
>
>Fake pending is a wrong thing to do, it means that you will make downtime to 
>be larger than expected.
>
>-- 
>Best regards,
>Vladimir

Reply via email to