Message ID | CADJev7-oFxAnRCd0Ezhe5XZs1MeU60+EcwYx2Y8GeEBNi2+9Ew@mail.gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
2016-12-02 15:58-0500, Don Bowman: > On 2 December 2016 at 14:10, Don Bowman <db@donbowman.ca> wrote: >> On 2 December 2016 at 10:07, Radim Krčmář <rkrcmar@redhat.com> wrote: >>> 2016-12-01 21:32-0500, Don Bowman: >>>> My system has what i thought were two identical processors (same >>>> stepping ID etc). >>>> However, bafflingly, one of them has the ability to do TSC scaling, >>>> and one does not (as reported in the vmcs). >>> > OK, how about this? The check has to be in setup_vmcs_config() not > elsewhere I think. This is where the rdmsr occurs, and immediately > following that is the compare against the other processor(s). Unless > I'm missing something I don't see how vmx_secondary_exec_control() > could work. For the enable I was following the 'enable_pml' which is > already there, but have changed it below. vmx_check_processor_compat() > calls setup_vmcs_config() and then the memcmp() immediately > afterwards. Right, KVM checks this early ... I don't like that the patch treats tsc_scaling specially while the same could happen with some other feature. What about warning in vmx_check_processor_compat() if features that won't be used don't match, but letting the check pass? (I'd even prefer an unsafe option to disable the check than to treat tsc_scaling differently.) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 5382b82..503ee1e 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -103,6 +103,9 @@ module_param_named(enable_shadow_vmcs, enable_shadow_vmcs, bool, S_IRUGO); static bool __read_mostly nested = 0; module_param(nested, bool, S_IRUGO); +static bool __read_mostly tsc_scaling = true; +module_param(tsc_scaling, bool, S_IRUGO); + static u64 __read_mostly host_xss;