On Thu, Dec 12, 2019 at 04:57:10PM +0100, Paolo Bonzini wrote: > On 12/12/19 16:52, Liran Alon wrote: > >>> virt_apic_accesses -> vapic > >> apicv > > Frankly, I dislike APICv terminology. I prefer to enumerate the > > various VMX features which are collectively called APICv by KVM. > > APICv currently represents in KVM terminology the combination of > > APIC-register virtualization, virtual-interrupt-delivery and > > posted-interrupts (See cpu_has_vmx_apicv()). > > > > In fact, the coupling of “enable_apicv” module parameter have made me > > multiple times to need to disable entire APICv features when there > > for example was only a bug in posted-interrupts. > > > > Even you got confused as virtualize-apic-access is not part of KVM’s > > APICv terminology but rather it’s enablement depend on > > flexpriority_enabled (See cpu_need_virtualize_apic_accesses()). i.e. > > It can be used for faster intercept handling of accesses to guest > > xAPIC MMIO page. > > Right, I got confused with APIC-register virtualization. Virtualize > APIC accesses is another one I wouldn't bother putting in /proc/cpuinfo, > since it's usually present together with flexpriority. Key word being "usually". My intent in printing out partially redundant flags was to help users debug/understand why the combined feature isn't supported. E.g. userspace can already easily (relatively speaking) query flexpriority support via /sys/module/kvm_intel/parameters/flexpriority. But if that comes back "N", the user has no way to determine exactly why flexpriority is disabled.