From nobody Wed Jan 15 10:51:21 2025 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1704470179171885.535661010005; Fri, 5 Jan 2024 07:56:19 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 190C2199C; Fri, 5 Jan 2024 10:56:18 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id DAE8E19FB; Fri, 5 Jan 2024 10:53:58 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 3A5F817C2; Fri, 5 Jan 2024 10:53:49 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id B5EFC18C6 for ; Fri, 5 Jan 2024 10:53:48 -0500 (EST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-627-26oZjjJjN7CTFK6sJCibuQ-1; Fri, 05 Jan 2024 10:53:47 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id D1E31101A555 for ; Fri, 5 Jan 2024 15:53:46 +0000 (UTC) Received: from orkuz (unknown [10.45.224.85]) by smtp.corp.redhat.com (Postfix) with ESMTP id 95B0F3C27 for ; Fri, 5 Jan 2024 15:53:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: 26oZjjJjN7CTFK6sJCibuQ-1 From: Jiri Denemark To: devel@lists.libvirt.org Subject: [libvirt PATCH 1/3] Introduce VIR_MIGRATE_POSTCOPY_PREEMPT flag Date: Fri, 5 Jan 2024 16:53:37 +0100 Message-ID: <08ad1c9eb776127f68719cc59867e26112742d1d.1704469030.git.jdenemar@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: AXSJG62GDCCJNQRKCMTOEAXT3UL4K5SX X-Message-ID-Hash: AXSJG62GDCCJNQRKCMTOEAXT3UL4K5SX X-MailFrom: jdenemar@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1704470179524100001 During post-copy migration (once it actually switches to post-copy mode) dirty memory pages are continued to be migrated iteratively, while the destination can explicitly request a specific page to be migrated before the iterative process gets to it (which happens when a guest wants to read a page that was not migrated yet). Without this flag explicitly requested pages need to wait until all other pages already queued are transferred. Enabling this flag will instruct the hypervisor to create a separate migration channel for explicitly requested pages so that they can preempt the queue. Signed-off-by: Jiri Denemark --- include/libvirt/libvirt-domain.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-dom= ain.h index 30cce85b29..ee23ae97a5 100644 --- a/include/libvirt/libvirt-domain.h +++ b/include/libvirt/libvirt-domain.h @@ -1100,6 +1100,14 @@ typedef enum { * Since: 8.5.0 */ VIR_MIGRATE_ZEROCOPY =3D (1 << 20), + + /* Allow post-copy requests to preempt normal migration stream. This w= ay + * page faults on the destination hosts caused by accessing a memory p= age + * that was not migrated yet should be handled faster. + * + * Since: 10.0.0 + */ + VIR_MIGRATE_POSTCOPY_PREEMPT =3D (1 << 21), } virDomainMigrateFlags; =20 =20 --=20 2.43.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org