Re: [PATCH v4 1/6] x86: KVM: Advertise CMPccXADD CPUID to user space
From: Sean Christopherson
Date: Mon Nov 21 2022 - 10:49:15 EST
On Mon, Nov 21, 2022, Dave Hansen wrote:
> On 11/21/22 06:46, Jiaxi Chen wrote:
> > Features which has been enabled in kernel usually should be added to
> > /proc/cpuinfo.
>
> Features that the kernel *itself* is actually using always get in there.
> Things like "smep".
>
> But, things that the kernel "enables" but that only get used by
> userspace don't generally show up in /proc/cpuinfo.
>
> KVM is kinda a weird case. The kernel is making the feature available
> to guests, but it's not _using_ it in any meaningful way. To me, this
> seems much more akin to the features that are just available to
> userspace than something that the kernel is truly using.
Actually, for these features that don't require additional KVM enabling, KVM isn't
making the feature avaiable to the guest. KVM is just advertising to userspace
that KVM "supports" these features. Userspace ultimately controls guest CPUID;
outside of a few special cases, KVM neither rejects nor filters unsupported bits
in CPUID.
Most VMMs will only enable features that KVM "officially" supports, but for these
features, nothing stops userspace from enumerating support to the guest without
waiting for KVM.
> Also, these feature names are just long and ugly, and the "flags" line
> is already a human-*un*readable mess. I think we should just leave them
> out.
I have no strong opinion, either way works for me.