[prev in list] [next in list] [prev in thread] [next in thread] 

List:       libvirt-users
Subject:    CPU features/flags - host vs. guest (Libvirt/QEMU/KVM)
From:       kAja Ziegler <ziegleka () gmail ! com>
Date:       2022-09-07 8:54:24
Message-ID: CAMuNeAs34+2FigM6DmZ0j=LNjo24W+tReHAsBatWkgejo1keZw () mail ! gmail ! com
[Download RAW message or body]

Hello,

  does anyone know of any list/table (ideally as up-to-date as possible)
with individual CPU features/flags for x86_64 (preferably Intel), which
would state:

- description of individual features/flags
- dependencies between individual features/flags - e.g. avx on xsave
- what features/flags are checked on the hypervisor (host), but are not
propagated to the guest - e.g. acpi, ds, monitor, pbe, tm, etc. - some are
masked/disabled [(not) supported] by Libvirt, others by KVM/QEMU
- what features/flags active for/in the guest limit certain virtualization
behavior/options such as live migration - e.g. invtsc, xsaves
- so far I only found
https://github.com/libvirt/libvirt/blob/master/src/cpu_map/x86_features.xml
- features with migratable='no'

I would like to tweak the CPU configuration for the virtual servers ie.
choose the basic CPU model and turn on/off the necessary or appropriate
features/flags while maintaining the possibility of live migration. But I
miss the above-mentioned contexts, because not all the mentioned features
within the cpu element in the VM definition (domains in Libvirt) are then
visible inside the VM in /proc/cpuinfo. Of course, I know about other
related commands, registers, etc. like "virsh
capabilities|cpu-baseline|cpu-compare", MSR, fixes in CPU microcode,
host-model or host-passthrough CPU... but I'm still not sure about setting
the match, check and fallback attributes and the resulting behavior of
Libvirt and QEMU/KVM.

Many thanks in advance for any response
  K. Ziegler

[Attachment #3 (text/html)]

<div dir="ltr">Hello,<br><br>   does anyone know of any list/table (ideally as \
up-to-date as possible) with individual CPU features/flags for x86_64 (preferably \
Intel), which would state:<br><br>- description of individual features/flags<br>- \
dependencies between individual features/flags - e.g. avx on xsave<br>- what \
features/flags are checked on the hypervisor (host), but are not propagated to the \
guest - e.g. acpi, ds, monitor, pbe, tm, etc. - some are masked/disabled [(not) \
supported] by Libvirt, others by KVM/QEMU<br>- what features/flags active for/in the \
guest limit certain virtualization behavior/options such as live migration - e.g. \
invtsc, xsaves<br>- so far I only found <a \
href="https://github.com/libvirt/libvirt/blob/master/src/cpu_map/x86_features.xml">https://github.com/libvirt/libvirt/blob/master/src/cpu_map/x86_features.xml</a> \
- features with migratable=&#39;no&#39;<br><br>I would like to tweak the CPU \
configuration for the virtual servers ie. choose the basic CPU model and turn on/off \
the necessary or appropriate features/flags while maintaining the possibility of live \
migration. But I miss the above-mentioned contexts, because not all the mentioned \
features within the cpu element in the VM definition (domains in Libvirt) are then \
visible inside the VM in /proc/cpuinfo. Of course, I know about other related \
commands, registers, etc. like &quot;virsh \
capabilities|cpu-baseline|cpu-compare&quot;, MSR, fixes in CPU microcode, host-model \
or host-passthrough CPU... but I&#39;m still not sure about setting the match, check \
and fallback attributes and the resulting behavior of Libvirt and \
QEMU/KVM.<br><br><div>Many thanks in advance for any response</div><div>   K. \
Ziegler<br></div></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic