[PATCH: kvm 5/6] Don't unconditionally clear cpu_khz_tsc in hardware_enable.

Zachary Amsden
2009-09-24T03:31:36Z

For the non-hotplug case, this TSC speed should be available; instead, clear
cpu_khz_tsc when bringing down a CPU so it is recomputed at the next bringup.

Signed-off-by: Zachary Amsden <zamsden@redhat.com>
---
arch/x86/kvm/x86.c | 12 +++++-------
1 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 38ba4a6..f1470ce 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -4721,18 +4721,16 @@ int kvm_arch_cpu_hotadd(int cpu)

void kvm_arch_cpu_hotremove(int cpu)
{
+ /*
+ * Reset TSC khz to zero so it is recomputed on bringup
+ */
+ if (!boot_cpu_has(X86_FEATURE_CONSTANT_TSC))
+ per_cpu(cpu_tsc_khz, cpu) = 0;
kvm_x86_ops->cpu_hotremove(cpu);
}

int kvm_arch_hardware_enable(void *garbage)
{
- /*
- * Notifier callback chain may not have called cpufreq code
- * yet, thus we must reset TSC khz to zero and recompute it
- * before entering.
- */
- if (!boot_cpu_has(X86_FEATURE_CONSTANT_TSC))
- per_cpu(cpu_tsc_khz, raw_smp_processor_id()) = 0;
return kvm_x86_ops->hardware_enable(garbage);
}

--
1.6.4.4