From: Chaney, Ben Date: Mon, 16 Jun 2025 20:56:50 +0000 (+0000) Subject: migration: Don't sync volatile memory after migration completes X-Git-Tag: v7.2.19~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=94ab5f6743b6d56f8ff6366ebde42e62e93b517d;p=thirdparty%2Fqemu.git migration: Don't sync volatile memory after migration completes Syncing volatile memory provides no benefit, instead it can cause performance issues in some cases. Only sync memory that is marked as non-volatile after migration completes on destination. Signed-off-by: Ben Chaney Fixes: bd108a44bc29 (migration: ram: Switch to ram block writeback) Link: https://lore.kernel.org/r/1CC43F59-336F-4A12-84AD-DB89E0A17A95@akamai.com Signed-off-by: Peter Xu (cherry picked from commit 983899eab4939dc4dff67fa4d822c5b4df7eae21) Signed-off-by: Michael Tokarev --- diff --git a/migration/ram.c b/migration/ram.c index f25ebd9620d..e3ab67acd43 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -3930,7 +3930,9 @@ static int ram_load_cleanup(void *opaque) RAMBlock *rb; RAMBLOCK_FOREACH_NOT_IGNORED(rb) { - qemu_ram_block_writeback(rb); + if (memory_region_is_nonvolatile(rb->mr)) { + qemu_ram_block_writeback(rb); + } } xbzrle_load_cleanup();