11fcb6
From 2f3e89c97c7babc1d4da579eadf34979c8fc1725 Mon Sep 17 00:00:00 2001
11fcb6
Message-Id: <2f3e89c97c7babc1d4da579eadf34979c8fc1725@dist-git>
11fcb6
From: Jiri Denemark <jdenemar@redhat.com>
11fcb6
Date: Wed, 22 Jun 2022 16:35:50 +0200
11fcb6
Subject: [PATCH] Add VIR_MIGRATE_ZEROCOPY flag
11fcb6
MIME-Version: 1.0
11fcb6
Content-Type: text/plain; charset=UTF-8
11fcb6
Content-Transfer-Encoding: 8bit
11fcb6
11fcb6
The flag can be used to enable zero-copy mechanism for migrating memory
11fcb6
pages.
11fcb6
11fcb6
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
11fcb6
Reviewed-by: Ján Tomko <jtomko@redhat.com>
11fcb6
(cherry picked from commit 8744beecb36600e773c8a8c4823db2bf4b3e262d)
11fcb6
11fcb6
https://bugzilla.redhat.com/show_bug.cgi?id=2117272
11fcb6
11fcb6
Conflicts:
11fcb6
	include/libvirt/libvirt-domain.h
11fcb6
            - post-copy recovery not backported
11fcb6
11fcb6
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
11fcb6
---
11fcb6
 include/libvirt/libvirt-domain.h | 8 ++++++++
11fcb6
 1 file changed, 8 insertions(+)
11fcb6
11fcb6
diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
11fcb6
index 5f0a9b7572..792973ce2d 100644
11fcb6
--- a/include/libvirt/libvirt-domain.h
11fcb6
+++ b/include/libvirt/libvirt-domain.h
11fcb6
@@ -860,6 +860,14 @@ typedef enum {
11fcb6
       */
11fcb6
     VIR_MIGRATE_NON_SHARED_SYNCHRONOUS_WRITES = (1 << 18),
11fcb6
 
11fcb6
+    /* Use zero-copy mechanism for migrating memory pages. For QEMU/KVM this
11fcb6
+     * means QEMU will be temporarily allowed to lock all guest pages in host's
11fcb6
+     * memory, although only those that are queued for transfer will be locked
11fcb6
+     * at the same time.
11fcb6
+     *
11fcb6
+     * Since: 8.5.0
11fcb6
+     */
11fcb6
+    VIR_MIGRATE_ZEROCOPY = (1 << 20),
11fcb6
 } virDomainMigrateFlags;
11fcb6
 
11fcb6
 
11fcb6
-- 
11fcb6
2.35.1
11fcb6