]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
migration: Don't sync volatile memory after migration completes
authorChaney, Ben <bchaney@akamai.com>
Mon, 16 Jun 2025 20:56:50 +0000 (20:56 +0000)
committerMichael Tokarev <mjt@tls.msk.ru>
Sun, 13 Jul 2025 08:36:17 +0000 (11:36 +0300)
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 <bchaney@akamai.com>
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 <peterx@redhat.com>
(cherry picked from commit 983899eab4939dc4dff67fa4d822c5b4df7eae21)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
migration/ram.c

index f25ebd9620d01f8e2b34924f33c72a8874655538..e3ab67acd437f719c6dbfb37b1681a8715f0371b 100644 (file)
@@ -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();