On Fri, May 17, 2024 at 8:18 PM Sean Christopherson <seanjc@xxxxxxxxxx> wrote: > > Ok, so it does look like a CPU issue. Even with the fixes you identified, I > > don't see any other solution than adding scary text in Kconfig, defaulting > > it to "n", and adding an also-very-scary pr_err_once("...") the first time > > VMPTRLD is executed with CONFIG_KVM_INTEL_PROVE_VE. > > I don't think we need to make it super scary, at least not yet. KVM just needs > to not kill the VM, which thanks to the BUSY flag is trivial: just resume the guest. > Then the failure is "just" a WARN, which won't be anywhere near as problematic for > KVM developers. > > If we don't have a resolution by rc6 or so, then maybe consider doing something > more drastic? > > I agree that it should be off by default though. And the help text should be > more clear that this intended only for developers and testing environments. > > I have a handful of patches, including one to not kill the VM. I'll try to post > them later today, mostly just need to write changelogs. > > diff --git a/arch/x86/kvm/Kconfig b/arch/x86/kvm/Kconfig > index 75082c4a9ac4..5c22186671e9 100644 > --- a/arch/x86/kvm/Kconfig > +++ b/arch/x86/kvm/Kconfig > @@ -98,15 +98,15 @@ config KVM_INTEL > > config KVM_INTEL_PROVE_VE > bool "Check that guests do not receive #VE exceptions" > - default KVM_PROVE_MMU || DEBUG_KERNEL > - depends on KVM_INTEL > + depends on KVM_INTEL && KVM_PROVE_MMU > help "depends on KVM_PROVE_MMU" is wrong, I think. I'd like to keep it enabled without slowing down too much the VMs, for example. On the other hand "default DEBUG_KERNEL" is definitely too heavy with these CPU issues. Paolo