Messages in this thread Patch in this message | | | From | "Li,Rongqing" <> | Subject | 答复: [PATCH] [RFC] kvm: x86: emulate APERF/M PERF registers | Date | Sun, 26 Apr 2020 08:30:26 +0000 |
| |
> > But then here you only emulate it for VMX, which then results in SVM guests > going wobbly. > > Also, on Intel, the moment you advertise APERFMPERF, we'll try and read > MSR_PLATFORM_INFO / MSR_TURBO_RATIO_LIMIT*, I don't suppose you're > passing those through as well? >
init_freq_invariance(void) is trying read MSR_PLATFORM_INFO / MSR_TURBO_RATIO_LIMIT*, should we add a check of turbo status in init_freq_invariance, to avoid the reading?
It is unnecessary to call intel_set_max_freq_ratio If turbo is disabled
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index fe3ab9632f3b..54fb88323293 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -2009,6 +2009,9 @@ static void init_freq_invariance(void) if (smp_processor_id() != 0 || !boot_cpu_has(X86_FEATURE_APERFMPERF)) return; + if (turbo_disabled()) + return; + if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) ret = intel_set_max_freq_ratio();
-Li | |