From nobody Sun Dec 14 02:17:06 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1751637236; cv=none; d=zohomail.com; s=zohoarc; b=hU9e87Dxj8tBGFiRWJju8ZCLFYQS7UAHTxcR23PS1I7G/e2nVuXhO9fjqacUQ6me9YiRWN5TnkLtxYnYWrn8ohQx4nYEWdiocnGJ9MR1YelFpC6PuO3C0o5F5UnwSCmz8t3pffFR1naw73gcCb4es0G375IEru2p/oLJdaCyz5g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751637236; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=KDUbO+bovr9sHe2xpncp2OeqwSVq6Wp5Ydtdf7JHSvo=; b=SNh5TyzmIzBIxv9TvmPKUUP9jBbXM752YPNmpLBv59CzKq37aEB5OmKfH+14JJJljeStpf7kgwUV6kw8eQWT3iaGn6x7oFCBg30UYYwcm3I3d6SdxnCO2pvTFVLNbQrPq5BPqtiNXUfhQCA9WoyrFA0rdDGdE3fvbwJh3Ug0TjI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1751637236595970.9157441125925; Fri, 4 Jul 2025 06:53:56 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 995971588; Fri, 4 Jul 2025 09:53:55 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 9514D1521; Fri, 4 Jul 2025 09:53:18 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 1B2D0C91; Fri, 4 Jul 2025 09:53:14 -0400 (EDT) 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 93466C91 for ; Fri, 4 Jul 2025 09:53:13 -0400 (EDT) Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-59-OjSMlBDdM8Gm7LM_HRHMyg-1; Fri, 04 Jul 2025 09:53:10 -0400 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 8C6BD1800343 for ; Fri, 4 Jul 2025 13:53:09 +0000 (UTC) Received: from orkuz (unknown [10.45.225.129]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 0A3AF180045B for ; Fri, 4 Jul 2025 13:53:08 +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=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1751637193; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Y+5Y0tq4CNYmRQNIO0EdSPgzf25vYqI/H5OhYWk+Ha0=; b=IGnbZkNLkDgzpI5YAAzjwKxsBccD+gCtc7vNIMgXK3VbLm8BhI+3oI2WfzJuFUZvosVqRI 3c9XtyWvAJGZzU2fpOdeoIUiIKPvsnBOPjoUcfuGfPIz0e+10LYcETxlTomDLKZ3bJerd1 T3mhIoorCZ5TgIwiW+ZCSWHC0+uB1VE= X-MC-Unique: OjSMlBDdM8Gm7LM_HRHMyg-1 X-Mimecast-MFC-AGG-ID: OjSMlBDdM8Gm7LM_HRHMyg_1751637189 To: devel@lists.libvirt.org Subject: [PATCH 1/6] cpu: Show input CPU model names in debug log Date: Fri, 4 Jul 2025 15:52:59 +0200 Message-ID: <9e622c8fb5354dd8214c445a3e3f301374255955.1751636993.git.jdenemar@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: JEGp9lwLZVaf1EjAjDR8DHQqGOJFPp-0HEs40PmUGZY_1751637189 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 5ATMNSHQHSBKX2RU3RIE45D3K35QIKS3 X-Message-ID-Hash: 5ATMNSHQHSBKX2RU3RIE45D3K35QIKS3 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: From: Jiri Denemark via Devel Reply-To: Jiri Denemark X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1751637237054116600 Content-Type: text/plain; charset="utf-8" From: Jiri Denemark Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- src/cpu/cpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index 77afb7e9b3..233686485d 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -581,7 +581,7 @@ virCPUBaseline(virArch arch, virArchToString(arch), ncpus, models, features, migratable); if (cpus) { for (i =3D 0; i < ncpus; i++) - VIR_DEBUG("cpus[%zu]=3D%p", i, cpus[i]); + VIR_DEBUG("cpus[%zu]=3D%p (%s)", i, cpus[i], NULLSTR(cpus[i]->= model)); } if (models) { for (i =3D 0; i < models->nmodels; i++) --=20 2.50.0 From nobody Sun Dec 14 02:17:06 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1751637264; cv=none; d=zohomail.com; s=zohoarc; b=OPr43aWms2RX7+Ttfx/njWne/Mx7SR3zKtaNvtb0/INQ7jCJQA+FWJCqYnRYGP6bGzFoOwiFoYte14Y4puR5auEFfbCKEZp50sZrgMRURPzV4lH8sIjYnb19f97xzB1gHqXk1rNqji4ZKRgLJd0++STLRmtnyliOOkCc69KHrKc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751637264; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=ZMbC+sCfMAR7olo9DarElopMHKmomO0p6eQLOWkKN6c=; b=X7kNCcsRhymkyoEDeGIhD+JW4qvXtRCiqx2qMcl/LgHFKupQFjPT5Fb7ZUhRurHZOyKp7QDXW9qZm6rEgoOBfo9QRHu4eQNQ8T2osnL6l71wEfhJElXULwsX5wB4M98r8j16fb8pwz9u5W/GebZcDG8XygB3HoDMerRfEQOPuSE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1751637264544119.8487535253588; Fri, 4 Jul 2025 06:54:24 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 8D54814E6; Fri, 4 Jul 2025 09:54:23 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 608B7156A; Fri, 4 Jul 2025 09:53:20 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 75E9D13E8; Fri, 4 Jul 2025 09:53:14 -0400 (EDT) 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 E2ACB13F5 for ; Fri, 4 Jul 2025 09:53:13 -0400 (EDT) Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-403-rzXZYqDKNO6w9UjCW4mcmg-1; Fri, 04 Jul 2025 09:53:12 -0400 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id CC9C019560A1 for ; Fri, 4 Jul 2025 13:53:11 +0000 (UTC) Received: from orkuz (unknown [10.45.225.129]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 3A4E01800287 for ; Fri, 4 Jul 2025 13:53:10 +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=2.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_SBL_CSS,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=no autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1751637193; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Ohl6eW8U7vZKNBYvkwcUP3MTuwNoSNon+Gt9/CZRD8o=; b=FkKMSehMMFXnYMdUGkvVLbB82/RRbASaJ+/hf3VWbsCiIGALEfegtjZCJtvY8KXmBX3RSP /j7M/t8FUcWRrGSsiLJOjE3kYl2mWKQjsgNxD2IivOpcp2l7U0IISo6O5XuyDYJlhYY7qW xolV9R0irssmX11PDqR8rlxFqbtnA1Y= X-MC-Unique: rzXZYqDKNO6w9UjCW4mcmg-1 X-Mimecast-MFC-AGG-ID: rzXZYqDKNO6w9UjCW4mcmg_1751637191 To: devel@lists.libvirt.org Subject: [PATCH 2/6] Clarify documentation of virConnectBaselineHypervisorCPU Date: Fri, 4 Jul 2025 15:53:00 +0200 Message-ID: <43348fa97e8cb4094d0c72aec30b3d0f7451049c.1751636993.git.jdenemar@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: cfUFTm7hx0d3SMMYPPz5_bnJScY7mI-Dqi_F9BwHAu8_1751637191 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 4ZGGPDDDXKG4WVXP4LWRBAJTWNCFKDG5 X-Message-ID-Hash: 4ZGGPDDDXKG4WVXP4LWRBAJTWNCFKDG5 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: From: Jiri Denemark via Devel Reply-To: Jiri Denemark X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1751637265484116600 Content-Type: text/plain; charset="utf-8" From: Jiri Denemark The API was apparently never considered for being used on a host that is not represented in the input set of CPU definitions. The result is limited to the set of features and CPU models known to the host's hypervisor. This would likely not be a big issue, but thanks to a side effect of commit v3.8.0-99-g9c9620af1d usability blockers come to play as well. When converting CPU data (CPUID and MSR bits) to each named model for comparison, we disable features that block usability of the model on the current hypervisor, the rest of the features are set according to the data without taking host capabilities into account. Thus the process of comparing and selecting the most appropriate CPU model for the given data is significantly influenced by the host, but it doesn't behave as if the host CPU model was included in the input data. The documentation tried to say the result was tied to the host's hypervisor, but it wasn't very clear. Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- docs/manpages/virsh.rst | 11 ++++++++--- src/libvirt-host.c | 24 +++++++++++++++--------- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst index e13b5020b5..7082ca773a 100644 --- a/docs/manpages/virsh.rst +++ b/docs/manpages/virsh.rst @@ -1015,9 +1015,14 @@ hypervisor-cpu-baseline [--features] [--migratable] [model] =20 Compute a baseline CPU which will be compatible with all CPUs defined in a= n XML -*file* and with the CPU the hypervisor is able to provide on the host. (Th= is -is different from ``cpu-baseline`` which does not consider any hypervisor -abilities when computing the baseline CPU.) +*FILE*. This command must be called on one of the hosts described in *FILE= *. +Calling it on another host results in an undefined behavior as the compute= d CPU +model is influenced by the hypervisor (the result may use an unexpected CPU +model or some features may disabled even though they are supported on all = input +CPUs). + +This is different from ``cpu-baseline`` which does not consider any hyperv= isor +abilities when computing the baseline CPU. =20 As an alternative for *FILE* in case the XML would only contain a CPU model with no additional features the CPU model name itself can be passed as *mo= del*. diff --git a/src/libvirt-host.c b/src/libvirt-host.c index d82ff993c2..8d2107fd62 100644 --- a/src/libvirt-host.c +++ b/src/libvirt-host.c @@ -1300,24 +1300,30 @@ virConnectBaselineCPU(virConnectPtr conn, * @ncpus: number of CPUs in xmlCPUs * @flags: bitwise-OR of virConnectBaselineCPUFlags * - * Computes the most feature-rich CPU which is compatible with all given C= PUs - * and can be provided by the specified hypervisor. For best results the - * host-model CPUs as advertised by virConnectGetDomainCapabilities() shou= ld be - * passed in @xmlCPUs. Any of @emulator, @arch, @machine, and @virttype - * parameters may be NULL; libvirt will choose sensible defaults tailored = to - * the host and its current configuration. + * Computes the most feature-rich CPU which is compatible with all given C= PUs. + * This API must be called on one of the hosts specified in @xmlCPUs. Call= ing + * it on another host results in an undefined behavior as the computed CPU + * model is influenced by the hypervisor (the result may use an unexpected= CPU + * model or some features may disabled even though they are supported on a= ll + * input CPUs). * * This is different from virConnectBaselineCPU() which doesn't consider a= ny * hypervisor abilities when computing the best CPU. * + * The @xmlCPUs array should contain guest CPU definitions created from the + * host CPU model description as advertised by virConnectGetDomainCapabili= ties() + * in element. Any of @emulator, @arch, @machin= e, and + * @virttype parameters may be NULL; libvirt will choose sensible defaults + * tailored to the host and its current configuration. + * * If @ncpus =3D=3D 1, the result will be the first (and only) CPU in @xml= CPUs * tailored to what the hypervisor can support on the current host. * Specifically if this single CPU definition contains no feature elements= and * a CPU model listed as usable=3D'no' in domain capabilities XML, the res= ult * will contain a list usability blockers, i.e., a list of features that w= ould - * need to be disabled to for the model to be usable on this host. This li= st - * may contain more features than what the hypervisor reports as blockers = in - * case the CPU model definition in libvirt differs from QEMU definition. + * need to be disabled for the model to be usable on this host. This list = may + * contain more features than what the hypervisor reports as blockers in c= ase + * the CPU model definition in libvirt differs from QEMU definition. * * If @flags includes VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES then libvirt * will explicitly list all CPU features that are part of the computed CPU, --=20 2.50.0 From nobody Sun Dec 14 02:17:06 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1751637284; cv=none; d=zohomail.com; s=zohoarc; b=Ncwzy+IZuYHts92ow41nEKrWHkd75VYFXAhBnDVGjyShjuJzYHS8OB9jtRce0RpuKASHiktPyWw71odkg2pSNVsuEpS8DsiV+MUgU4aGGFXTC5v4AFsnTDFiKmn032cnAL5GkoRbnnminlTnrRFcXk1CgGJR3A05/tRuhhbRBes= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751637284; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=oB+vXgfV0XgTZuusEjtMJYRlNRJLwKY0iP1+2xxkgDg=; b=UtJzgDPOTpWsxu6/de7IT6OTwhX5Yx7n993Y4Dq3WHYx109btO+WzCP4soqeFhScRTZQNu9oA5LQT9yEhwN2RGvJzTB4amcoTMaoz2Ecdx5K40/ZFzLBNy7XpzqsSNZ8QIDefnDJ4KOnHbn7xNR4si0hZoFITVmhvInVHBVMgAo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1751637284572208.5810570528247; Fri, 4 Jul 2025 06:54:44 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 8C84A148B; Fri, 4 Jul 2025 09:54:43 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 2CD1B1426; Fri, 4 Jul 2025 09:53:23 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 0490A1459; Fri, 4 Jul 2025 09:53:16 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.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 602FB13ED for ; Fri, 4 Jul 2025 09:53:16 -0400 (EDT) Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-136-I53bPcBiMWm1NNXWEMFzZQ-1; Fri, 04 Jul 2025 09:53:14 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (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 mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 26F30180120F for ; Fri, 4 Jul 2025 13:53:14 +0000 (UTC) Received: from orkuz (unknown [10.45.225.129]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id A1CB919560A7 for ; Fri, 4 Jul 2025 13:53:13 +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=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1751637196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=68+acBOUkZXvkecsE0GdnvhpJ+pR4BItuDt74MuLxAQ=; b=PEky0YQEc36YCdgKaHYE/KvbYrR/kpTvAUr+GrORHbXQqd2vsXM5EO2nKYzmj5NwvGY7vZ tEg8YKGGjzxn3wRN6oE/hI4jzawisgjvvZRDeCwEjrmjE+YuR9u7rXtCyNhr5B+hUfkg7S RkseYaG2fnjYVCBF7zPsGEEFppS1YVg= X-MC-Unique: I53bPcBiMWm1NNXWEMFzZQ-1 X-Mimecast-MFC-AGG-ID: I53bPcBiMWm1NNXWEMFzZQ_1751637194 To: devel@lists.libvirt.org Subject: [PATCH 3/6] Change documentation style of virConnectBaselineCPUFlags Date: Fri, 4 Jul 2025 15:53:01 +0200 Message-ID: <4030fbda2837f136861f4dab0560962023544e55.1751636993.git.jdenemar@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: ll6zFUPZr2GpBS3cwMw1qyIzNVmSXhakSokdjXHX59E_1751637194 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: AQHP7F5HXRFF4PKXICWF22I4E24FBGW6 X-Message-ID-Hash: AQHP7F5HXRFF4PKXICWF22I4E24FBGW6 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: From: Jiri Denemark via Devel Reply-To: Jiri Denemark X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1751637285570116600 Content-Type: text/plain; charset="utf-8" From: Jiri Denemark Moving the documentation above each enum item gives us more space for it. Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- include/libvirt/libvirt-host.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/libvirt/libvirt-host.h b/include/libvirt/libvirt-host.h index 3112f2b676..91214ea21b 100644 --- a/include/libvirt/libvirt-host.h +++ b/include/libvirt/libvirt-host.h @@ -970,8 +970,10 @@ int virConnectGetCPUModelNames(virConnectPtr conn, * Since: 1.1.2 */ typedef enum { - VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES =3D (1 << 0), /* show all f= eatures (Since: 1.1.2) */ - VIR_CONNECT_BASELINE_CPU_MIGRATABLE =3D (1 << 1), /* filter out non-m= igratable features (Since: 1.2.14) */ + /* show all features (Since: 1.1.2) */ + VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES =3D (1 << 0), + /* filter out non-migratable features (Since: 1.2.14) */ + VIR_CONNECT_BASELINE_CPU_MIGRATABLE =3D (1 << 1), } virConnectBaselineCPUFlags; =20 char *virConnectBaselineCPU(virConnectPtr conn, --=20 2.50.0 From nobody Sun Dec 14 02:17:06 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1751637316; cv=none; d=zohomail.com; s=zohoarc; b=Q7pZliWufrmnPAorZ06TwQ1ghHNAUjNa0KTrqCkBoD85NidAB13oBeLU8y3zsrysRTrRTm2+Vsu0NagSk+O+RyXs6TEREbt/mnixDyj+yjukGTJCouFS2NyIg1LqFTcBUhx6CMAiIY/x9vkrYuZsOJN4xdAt7EaLaiBgL2BtaBE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751637316; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=am4zoHlRsv8NVKJuzshk6xJwZIkVZqvgBtR6veyT/Mc=; b=OZAWqZbWqlMxznUl6Uw4HJOA5gcRqo33wwwktOQnSlj1bLtXPRXJ4+2shfdiT6iphOZI/OFjSQTWV7NLkc31XCsDRfCyuXQ5uDlLMyX5D+vJjIe506oAdEBCv6/LVWw8jVBS+ouTM0Ru4B1ZPLlG99DTnqd5mEdG2bEsCVU0tY8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1751637316863552.4707033972334; Fri, 4 Jul 2025 06:55:16 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id E8F781444; Fri, 4 Jul 2025 09:55:15 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 5B2661512; Fri, 4 Jul 2025 09:53:35 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id EF4131523; Fri, 4 Jul 2025 09:53:30 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.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 A7CF91540 for ; Fri, 4 Jul 2025 09:53:18 -0400 (EDT) Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-202-e9-EWwIwPx-p7fYaKZoLPA-1; Fri, 04 Jul 2025 09:53:17 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (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 mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 544061800343 for ; Fri, 4 Jul 2025 13:53:16 +0000 (UTC) Received: from orkuz (unknown [10.45.225.129]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id CC76419560A7 for ; Fri, 4 Jul 2025 13:53:15 +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=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1751637198; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OXQg3rNac5H4aZvw/Tv5EIndiT0k4j03AETBc+jhzWc=; b=OxFOX1JJAPu+bw+ZGa5vE06p5GL+Ebjv8UoI9O83nelSzl6pQJNylOHLkRuhLSgax94BG+ ds0gX3ediJ2d/PUx2/L2sl5AVm5TStuvqWfxpE0sXDjWgZ+JYC6x7vnmsW0TqYb5wvTAwI 6Y4noy/ZJJMG2vjY2e0QBQmJeiTuCoY= X-MC-Unique: e9-EWwIwPx-p7fYaKZoLPA-1 X-Mimecast-MFC-AGG-ID: e9-EWwIwPx-p7fYaKZoLPA_1751637196 To: devel@lists.libvirt.org Subject: [PATCH 4/6] Introduce VIR_CONNECT_BASELINE_CPU_IGNORE_HOST flag Date: Fri, 4 Jul 2025 15:53:02 +0200 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: sFU8p_b-8oRSQ4HpCUMC3TDIVsZOpdAxNOh5jyXCbQE_1751637196 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: S3T55LQCXFMCQLIPW77IRDI4EGFMNV55 X-Message-ID-Hash: S3T55LQCXFMCQLIPW77IRDI4EGFMNV55 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: From: Jiri Denemark via Devel Reply-To: Jiri Denemark X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1751637318073116600 Content-Type: text/plain; charset="utf-8" From: Jiri Denemark With this new flag virConnectHypervisorBaselineCPU can be used on any host (rather than being limited to hosts described by individual CPUs passed to the API). Using the flag makes the API behave similarly to the old virConnectBaselineCPU. The main difference is the CPU definition accepted by both APIs: the old one only accepts host CPU definition, i.e., without 'policy' attributes as seen in the host capabilities XML. Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- include/libvirt/libvirt-host.h | 3 +++ src/libvirt-host.c | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/include/libvirt/libvirt-host.h b/include/libvirt/libvirt-host.h index 91214ea21b..19043235b2 100644 --- a/include/libvirt/libvirt-host.h +++ b/include/libvirt/libvirt-host.h @@ -974,6 +974,9 @@ typedef enum { VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES =3D (1 << 0), /* filter out non-migratable features (Since: 1.2.14) */ VIR_CONNECT_BASELINE_CPU_MIGRATABLE =3D (1 << 1), + /* when computing a baseline from several CPUs, do not make the result + * dependent on the current host (Since: 11.5.0) */ + VIR_CONNECT_BASELINE_CPU_IGNORE_HOST =3D (1 << 2), } virConnectBaselineCPUFlags; =20 char *virConnectBaselineCPU(virConnectPtr conn, diff --git a/src/libvirt-host.c b/src/libvirt-host.c index 8d2107fd62..da75f5f30b 100644 --- a/src/libvirt-host.c +++ b/src/libvirt-host.c @@ -1305,7 +1305,8 @@ virConnectBaselineCPU(virConnectPtr conn, * it on another host results in an undefined behavior as the computed CPU * model is influenced by the hypervisor (the result may use an unexpected= CPU * model or some features may disabled even though they are supported on a= ll - * input CPUs). + * input CPUs). The undefined behavior can be avoided using + * VIR_CONNECT_BASELINE_CPU_IGNORE_HOST flag (see below). * * This is different from virConnectBaselineCPU() which doesn't consider a= ny * hypervisor abilities when computing the best CPU. @@ -1333,6 +1334,11 @@ virConnectBaselineCPU(virConnectPtr conn, * If @flags includes VIR_CONNECT_BASELINE_CPU_MIGRATABLE, the resulting * CPU will not include features that block migration. * + * If @flags contains VIR_CONNECT_BASELINE_CPU_IGNORE_HOST and @ncpus > 1,= the + * API will not consider hypervisor abilities when computing the baseline.= With + * this flag baseline can be safely computed on any host (even those not + * described in @xmlCPUs). + * * Returns XML description of the computed CPU (caller frees) or NULL on e= rror. * * Since: 4.4.0 --=20 2.50.0 From nobody Sun Dec 14 02:17:06 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1751637336; cv=none; d=zohomail.com; s=zohoarc; b=YlxroKJ0EqhIjA2+PgCPnesPBEgnRxYjQ1y/hwZtK6J8bTTwqt+VyKj7+YuwuFrkjYi036Kx/Z3DL1X6Q0YxZAGpyA5WzcuiU1kHWYYHowBVx2g3eh7E0jlPoMPG1agL4pBgUqbZjuFAtJ4WE1oLxK1ysWLQY8CzHw3LuT24XxI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751637336; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=czP2Dc1lATtgpKQkWIzdAM9qOQN+QJ73Qu/EjNS9xto=; b=NJKh6UsGP6QsTIueLejsxigpsc858OGMRpomfxP2NuzlkESHOpMRXpEoIzVitDVBHNOGFRfVpfv406cA2h5l4gTWviomYA30M7yDIy3XP+kCUpzSQ92XxJFgXlHKZA2MxGMIedIkQMdojFeHHppB/7VhyD3UnMpV4pwn/+kurEQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1751637336208604.5129161254689; Fri, 4 Jul 2025 06:55:36 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 187641582; Fri, 4 Jul 2025 09:55:35 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 291511442; Fri, 4 Jul 2025 09:53:38 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 479F61401; Fri, 4 Jul 2025 09:53:31 -0400 (EDT) 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 75EE81573 for ; Fri, 4 Jul 2025 09:53:20 -0400 (EDT) Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-225-bPYNvqfVP6OEqeAfrINSKg-1; Fri, 04 Jul 2025 09:53:19 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (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 mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 405A418089B6 for ; Fri, 4 Jul 2025 13:53:18 +0000 (UTC) Received: from orkuz (unknown [10.45.225.129]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id BDD771803AFF for ; Fri, 4 Jul 2025 13:53:17 +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=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1751637200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=CcaqUaOe11POF+lX0GMbA8ORSudi7ZsXW12/wwlwp4s=; b=EbqXVjCEKfjHjSsoNRdGdoJLNEgp7KyAi8+MxtAEdGpLkc1I34oz3hQpm0sp4f68qmbHcA GR14I5WLBNIpvzdnbKQj6M9qqHBDITzlqN2coR6fGASUkA+IpXnbW0tIuWreOyq99sLVNH F4LCAnXPACHLMwhhJqNN4nm/4a/bQ34= X-MC-Unique: bPYNvqfVP6OEqeAfrINSKg-1 X-Mimecast-MFC-AGG-ID: bPYNvqfVP6OEqeAfrINSKg_1751637198 To: devel@lists.libvirt.org Subject: [PATCH 5/6] qemu: Implement VIR_CONNECT_BASELINE_CPU_IGNORE_HOST Date: Fri, 4 Jul 2025 15:53:03 +0200 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 9ARmyvUPU9IccOioUPo2Rsim6Far8y8_YTsTSRE0vBA_1751637198 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: F4VPUY6YIWYM52HKFXY6J2TOQYUZD4Q4 X-Message-ID-Hash: F4VPUY6YIWYM52HKFXY6J2TOQYUZD4Q4 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: From: Jiri Denemark via Devel Reply-To: Jiri Denemark X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1751637338334116600 Content-Type: text/plain; charset="utf-8" From: Jiri Denemark Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- src/qemu/qemu_driver.c | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 2c06e50454..cf7407ce2d 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -11970,13 +11970,20 @@ qemuConnectBaselineHypervisorCPU(virConnectPtr co= nn, size_t i; =20 virCheckFlags(VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES | - VIR_CONNECT_BASELINE_CPU_MIGRATABLE, NULL); + VIR_CONNECT_BASELINE_CPU_MIGRATABLE | + VIR_CONNECT_BASELINE_CPU_IGNORE_HOST, NULL); =20 if (virConnectBaselineHypervisorCPUEnsureACL(conn) < 0) goto cleanup; =20 migratable =3D !!(flags & VIR_CONNECT_BASELINE_CPU_MIGRATABLE); =20 + if ((flags & VIR_CONNECT_BASELINE_CPU_IGNORE_HOST) && ncpus < 2) { + virReportError(VIR_ERR_OPERATION_INVALID, "%s", + _("ignoring host is only allowed when computing bas= eline from multiple CPUs")); + goto cleanup; + } + if (!(cpus =3D virCPUDefListParse(xmlCPUs, ncpus, VIR_CPU_TYPE_AUTO))) goto cleanup; =20 @@ -11999,14 +12006,19 @@ qemuConnectBaselineHypervisorCPU(virConnectPtr co= nn, } =20 if (ARCH_IS_X86(arch)) { - int rc =3D virQEMUCapsGetCPUFeatures(qemuCaps, virttype, - migratable, &features); - if (rc < 0) - goto cleanup; - if (features && rc =3D=3D 0) { - /* We got only migratable features from QEMU if we asked for t= hem, - * no further filtering in virCPUBaseline is desired. */ - migratable =3D false; + if (flags & VIR_CONNECT_BASELINE_CPU_IGNORE_HOST) { + VIR_DEBUG("Not adding host's features as VIR_CONNECT_BASELINE_= CPU_IGNORE_HOST was set"); + g_clear_pointer(&cpuModels, virObjectUnref); + } else { + int rc =3D virQEMUCapsGetCPUFeatures(qemuCaps, virttype, + migratable, &features); + if (rc < 0) + goto cleanup; + if (features && rc =3D=3D 0) { + /* We got only migratable features from QEMU if we asked f= or them, + * no further filtering in virCPUBaseline is desired. */ + migratable =3D false; + } } =20 if (!(cpu =3D virCPUBaseline(arch, cpus, ncpus, cpuModels, --=20 2.50.0 From nobody Sun Dec 14 02:17:06 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1751637357; cv=none; d=zohomail.com; s=zohoarc; b=NHn36v7OcKcdn91XVGIHsTVsMN/k7G/zobQKGEPbC02qX5fe/8zH3f6joqn0NojtpGeJKLfSwfnzMsBePKcRnWhirMbXfVcqQ3vL5c8QZ3+iZcRjLdnt/8iJipVuKldHPewLYJx/hdqOKtGF80y5eFs4SkexjKMqN+vBSYnH/kQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751637357; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=Vl4pYEs3G6Vu3G7oxESjKa9FCV//3W5gpBmxvqiYntA=; b=OXSOUm5M/1sYx4wTFndJwBGI9edBYLed8hSvZqEM/QBOk7lhTbyI8z5Q++lk6hVQDv6qTOGYR4FzO9PidWiWN7IaxEiDec4zUKb5Ws38HTh1OX8dpQQ8faH6xD4Xebcsc3weaVQuNEJYtoVgHmdA8xnjd+JxIkf2w/J/BDuqbFk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1751637357417613.8929420674926; Fri, 4 Jul 2025 06:55:57 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 8071F1401; Fri, 4 Jul 2025 09:55:56 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 1FFE414E2; Fri, 4 Jul 2025 09:53:41 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 821E4142F; Fri, 4 Jul 2025 09:53:32 -0400 (EDT) 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 A54C3142F for ; Fri, 4 Jul 2025 09:53:22 -0400 (EDT) Received: from mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-169-nQTxb-OFPjeixaj0BXPUmw-1; Fri, 04 Jul 2025 09:53:21 -0400 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (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 mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 6AF4119560AE for ; Fri, 4 Jul 2025 13:53:20 +0000 (UTC) Received: from orkuz (unknown [10.45.225.129]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id E58D53000218 for ; Fri, 4 Jul 2025 13:53:19 +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=2.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_SBL_CSS,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=no autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1751637202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=cbFo5sjm9YPOz8skwGrHvXv5l6peOlIoigjlvCdKtb4=; b=cmvlcRdcfbdloRxzwUuu4WyrXU3t+DfwW/ST5hj+ZdxgbRJLcUS1qDa6w6nmtIeO4LRR+n irabHSQKg6covC7qPyJvxJuhykavUW6eIPVK1fsUR0WR73ImJy2nZrCbh7FmCxP8SuMBPD pvrjLFqxsIkZgMDCaKOIJedpRuspMp0= X-MC-Unique: nQTxb-OFPjeixaj0BXPUmw-1 X-Mimecast-MFC-AGG-ID: nQTxb-OFPjeixaj0BXPUmw_1751637200 To: devel@lists.libvirt.org Subject: [PATCH 6/6] virsh: Add support for VIR_CONNECT_BASELINE_CPU_IGNORE_HOST flag Date: Fri, 4 Jul 2025 15:53:04 +0200 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: JwEnBFEfHq2v2m6X7CAC7qSImR6-c79p5mYNKEm8bMw_1751637200 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: NRZ5TZ7PKYK5HEWN5BO4QQOPUPT7MMH5 X-Message-ID-Hash: NRZ5TZ7PKYK5HEWN5BO4QQOPUPT7MMH5 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: From: Jiri Denemark via Devel Reply-To: Jiri Denemark X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1751637360571116600 Content-Type: text/plain; charset="utf-8" From: Jiri Denemark Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- docs/manpages/virsh.rst | 11 ++++++++--- tools/virsh-host.c | 8 ++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst index 7082ca773a..bcb5495ed9 100644 --- a/docs/manpages/virsh.rst +++ b/docs/manpages/virsh.rst @@ -1012,14 +1012,15 @@ hypervisor-cpu-baseline :: =20 hypervisor-cpu-baseline [FILE] [virttype] [emulator] [arch] [machine] - [--features] [--migratable] [model] + [--features] [--migratable] [--ignore-host] [model] =20 Compute a baseline CPU which will be compatible with all CPUs defined in a= n XML *FILE*. This command must be called on one of the hosts described in *FILE= *. Calling it on another host results in an undefined behavior as the compute= d CPU model is influenced by the hypervisor (the result may use an unexpected CPU model or some features may disabled even though they are supported on all = input -CPUs). +CPUs). The undefined behavior can be avoided using *--ignore-host* option = (see +below). =20 This is different from ``cpu-baseline`` which does not consider any hyperv= isor abilities when computing the baseline CPU. @@ -1059,7 +1060,11 @@ specifies the path to the emulator, *arch* specifies= the CPU architecture, and resulting XML description will explicitly include all features that make u= p the CPU, without this option features that are part of the CPU model will not = be listed in the XML description. If *--migratable* is specified, features th= at -block migration will not be included in the resulting CPU. +block migration will not be included in the resulting CPU. If *--ignore-ho= st* +is specified and *FILE* contains more than one CPU, the command will not +consider hypervisor abilities when computing the baseline. With this option +baseline can be safely computed on any host (even those not described in +*FILE*). =20 =20 hypervisor-cpu-models diff --git a/tools/virsh-host.c b/tools/virsh-host.c index 16f9411730..51b71b512c 100644 --- a/tools/virsh-host.c +++ b/tools/virsh-host.c @@ -1700,6 +1700,12 @@ static const vshCmdOptDef opts_hypervisor_cpu_baseli= ne[] =3D { .type =3D VSH_OT_BOOL, .help =3D N_("Do not include features that block migration") }, + {.name =3D "ignore-host", + .type =3D VSH_OT_BOOL, + .help =3D N_("when computing baseline from several CPUs, do not take " + "hypervisor capabilities into account and work with input " + "data only") + }, {.name =3D "model", .type =3D VSH_OT_STRING, .unwanted_positional =3D true, @@ -1730,6 +1736,8 @@ cmdHypervisorCPUBaseline(vshControl *ctl, flags |=3D VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES; if (vshCommandOptBool(cmd, "migratable")) flags |=3D VIR_CONNECT_BASELINE_CPU_MIGRATABLE; + if (vshCommandOptBool(cmd, "ignore-host")) + flags |=3D VIR_CONNECT_BASELINE_CPU_IGNORE_HOST; =20 if (vshCommandOptString(ctl, cmd, "file", &from) < 0 || vshCommandOptString(ctl, cmd, "virttype", &virttype) < 0 || --=20 2.50.0 From nobody Sun Dec 14 02:17:06 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1751641031; cv=none; d=zohomail.com; s=zohoarc; b=H7f1xw6cdTTMFyqHjke1xZhlXtzHAroG1Y3F/BarfQ9FZStlZrYGfJdpt0O6Yzb7+Vz5RJ+CjtfjuvK2tbCRY8YUDeZ8eRw9poU2YDyogOC+DpLMYlFfVLunscbBqat8l68atYPeFb7ichrYsmOtn6ljXsmFDc9wzI11pK8h/aE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751641031; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=wIFZN8bt0MR9ftt1fo5/zNoyBo9EjXXtnrXPARwavcY=; b=m58F7GTCWfB97BLroVTMFWEkkI1ZFkwOWL2crIGokUgkmVLOIF3wPBSDg9s6AKFkw8l+Nnb6Y1gXDEFpcw5q3uxPIyAhsvYieVZjC8JD7EjbHm+uLcTapRqAMzgIDokqPXEDcBAzJuNh8/NPXoloAAnpQJJFUUDAeGMUXt/AzjI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1751641031003749.5166855071315; Fri, 4 Jul 2025 07:57:11 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 08958138E; Fri, 4 Jul 2025 10:57:09 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id E9E88145B; Fri, 4 Jul 2025 10:56:52 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id D7C67138E; Fri, 4 Jul 2025 10:56:49 -0400 (EDT) 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 41F781385 for ; Fri, 4 Jul 2025 10:56:49 -0400 (EDT) Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-679-RMNxQ_peOuOsg7PI6VZhLQ-1; Fri, 04 Jul 2025 10:56:47 -0400 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (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 mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id BB6221800287 for ; Fri, 4 Jul 2025 14:56:46 +0000 (UTC) Received: from orkuz (unknown [10.45.225.129]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 434293000218 for ; Fri, 4 Jul 2025 14:56: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=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1751641008; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=oTeKP963f1ASq5nl6w4kzCkgImFJYASpkldTJjomlH0=; b=SqG8oUi1cW7xox4B7jwCcBmvOGbsHADAGq5ANce8j6tgpBVyjL5mLvgaNet26g2xjnyyXN ijpr9Vf6nntj8B2ZLLRzrh4MBgf926X+RFJPRIAns4H25ewaAVQhyWFqvASo+yT2WiOYsC OdG90GU31nnqtXVAtUCCPbHMXMpad2Q= X-MC-Unique: RMNxQ_peOuOsg7PI6VZhLQ-1 X-Mimecast-MFC-AGG-ID: RMNxQ_peOuOsg7PI6VZhLQ_1751641006 To: devel@lists.libvirt.org Subject: [PATCH 7/6] NEWS: Mention virConnectHypervisorBaselineCPU improvements Date: Fri, 4 Jul 2025 16:56:37 +0200 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: EW2yGYmvTlQNpQ-cUotx2_pvrSBVpVekRjpEOLmJPts_1751641006 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: J3ZXNKUPEGZ6IIKGBW7SUVZ7TLLZRDLH X-Message-ID-Hash: J3ZXNKUPEGZ6IIKGBW7SUVZ7TLLZRDLH 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: From: Jiri Denemark via Devel Reply-To: Jiri Denemark X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1751641031843116600 Content-Type: text/plain; charset="utf-8" From: Jiri Denemark Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik Reviewed-by: Peter Krempa --- NEWS.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/NEWS.rst b/NEWS.rst index d8bd2559f4..4fd12d94f4 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -17,8 +17,20 @@ v11.6.0 (unreleased) =20 * **New features** =20 + * Introduce VIR_CONNECT_BASELINE_CPU_IGNORE_HOST flag + + This new flag for virConnectBaselineHypervisorCPU can be used for comp= uting + a baseline CPU on any host without being limited to hosts represented = by + the input CPU definitions. + * **Improvements** =20 + * Clarify documentation of virConnectBaselineHypervisorCPU + + The documentation makes it clear virConnectBaselineHypervisorCPU is + supposed to be called on one of the hosts represented in the input CPU + definitions. Otherwise the API will give unexpected results. + * **Bug fixes** =20 =20 --=20 2.50.0