[libvirt] [PATCH v3 52/52] qemu: Store default CPU in domain XML

Ján Tomko jtomko at redhat.com
Tue Nov 12 15:10:34 UTC 2019

On Tue, Nov 05, 2019 at 02:27:50PM +0100, Jiri Denemark wrote:
>When starting a domain without a CPU model specified in the domain XML,
>QEMU will choose a default one. Which is fine unless the domain gets
>migrated to another host because libvirt doesn't perform any CPU ABI
>checks and the virtual CPU provided by QEMU on the destination host can
>differ from the one on the source host.
>With QEMU 4.2.0 we can probe for the default CPU model used by QEMU for
>a particular machine type and store it in the domain XML. This way the
>chosen CPU model is more visible to users and libvirt will make sure
>the guest will see the exact same CPU after migration.
>Architecture specific notes
>- aarch64: We only set the default CPU for TCG domains as KVM requires
>  explicit "-cpu host" to work.
>- ppc64: The default CPU for KVM is "host" thanks to some hacks in QEMU,
>  we will translate the default model to the model corresponding to the
>  host CPU ("POWER8" on a Power8 host, "POWER9" on Power9 host, etc.).
>  This is not a problem as the corresponding CPU model is in fact an
>  alias for "host". This is probably not ideal, but it's not wrong and
>  the default virtual CPU configured by libvirt is the same QEMU would
>  use. TCG uses various CPU models depending on machine type and its
>  version.
>- s390x: The default CPU for KVM is "host" while TCG defaults to "qemu".
>- x86_64: The default CPU model (qemu64) is not runnable on any host
>  with KVM, but QEMU just disables unavailable features and starts
>  happily.
>Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
>    Version 2:
>    - new test cases
>    Version 3:
>    - enable default CPU for KVM on s390 and ppc64
>    - handle "host" default CPU

Reviewed-by: Ján Tomko <jtomko at redhat.com>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20191112/c94c85d7/attachment-0001.sig>

More information about the libvir-list mailing list