]> git.proxmox.com Git - mirror_qemu.git/commit - softmmu/memory.c
migration: Add last stage indicator to global dirty log
authorGavin Shan <gshan@redhat.com>
Tue, 9 May 2023 02:21:19 +0000 (12:21 +1000)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 18 May 2023 06:53:50 +0000 (08:53 +0200)
commit1e493be58708c3003d9e38b09eedf0134c0ca9fe
tree70a7d9d6d6fbb67f0a1b525d3e12fefb2148c024
parented8d95182bc994e31e730c59e1c8bfec4822b27d
migration: Add last stage indicator to global dirty log

The global dirty log synchronization is used when KVM and dirty ring
are enabled. There is a particularity for ARM64 where the backup
bitmap is used to track dirty pages in non-running-vcpu situations.
It means the dirty ring works with the combination of ring buffer
and backup bitmap. The dirty bits in the backup bitmap needs to
collected in the last stage of live migration.

In order to identify the last stage of live migration and pass it
down, an extra parameter is added to the relevant functions and
callbacks. This last stage indicator isn't used until the dirty
ring is enabled in the subsequent patches.

No functional change intended.

Signed-off-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Tested-by: Zhenyu Zhang <zhenyzha@redhat.com>
Message-Id: <20230509022122.20888-2-gshan@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
accel/kvm/kvm-all.c
include/exec/memory.h
migration/dirtyrate.c
migration/ram.c
softmmu/memory.c