> On 12 Dec 2019, at 19:43, Sean Christopherson <sean.j.christopherson@xxxxxxxxx> wrote: > > 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. +1 on that. /proc/cpuinfo should just dump supported VMX features that kernel is aware of as exposed from CPU. Without further processing.