These days hv_clock allocation is memblock based (i.e. the percpu allocator is not involved), which means that the physical address of each of the per-cpu hv_clock areas is guaranteed to remain unchanged through all its lifetime and we do not need to update its location after CPU bring-up. Signed-off-by: Fernando Luis Vazquez Cao <fernando@xxxxxxxxxxxxx> --- diff -urNp linux-3.14-rc2-orig/arch/x86/kernel/kvm.c linux-3.14-rc2/arch/x86/kernel/kvm.c --- linux-3.14-rc2-orig/arch/x86/kernel/kvm.c 2014-02-12 15:49:32.359727407 +0900 +++ linux-3.14-rc2/arch/x86/kernel/kvm.c 2014-02-14 14:39:15.657337787 +0900 @@ -417,7 +417,6 @@ void kvm_disable_steal_time(void) #ifdef CONFIG_SMP static void __init kvm_smp_prepare_boot_cpu(void) { - WARN_ON(kvm_register_clock("primary cpu clock")); kvm_guest_cpu_init(); native_smp_prepare_boot_cpu(); kvm_spinlock_init(); diff -urNp linux-3.14-rc2-orig/arch/x86/kernel/kvmclock.c linux-3.14-rc2/arch/x86/kernel/kvmclock.c --- linux-3.14-rc2-orig/arch/x86/kernel/kvmclock.c 2014-01-20 11:40:07.000000000 +0900 +++ linux-3.14-rc2/arch/x86/kernel/kvmclock.c 2014-02-14 14:20:10.546961060 +0900 @@ -242,7 +248,7 @@ void __init kvmclock_init(void) hv_clock = __va(mem); memset(hv_clock, 0, size); - if (kvm_register_clock("boot clock")) { + if (kvm_register_clock("boot/primary cpu clock")) { hv_clock = NULL; memblock_free(mem, size); return; -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html