From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: [patch v2 3/3] KVM: x86: zero kvmclock_offset when vcpu0 initializes kvmclock system MSR Date: Thu, 28 May 2015 20:20:41 -0300 Message-ID: <20150528232219.769743096@redhat.com> References: <20150528232038.034288791@redhat.com> Cc: Luiz Capitulino , kvm@vger.kernel.org, Marcelo Tosatti To: Paolo Bonzini Return-path: Received: from mx1.redhat.com ([209.132.183.28]:38077 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755126AbbE1XYA (ORCPT ); Thu, 28 May 2015 19:24:00 -0400 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (Postfix) with ESMTPS id DE329B8BC6 for ; Thu, 28 May 2015 23:23:59 +0000 (UTC) Content-Disposition: inline; filename=03-host-patch Sender: kvm-owner@vger.kernel.org List-ID: Initialize kvmclock base, on kvmclock system MSR write time, so that the guest sees kvmclock counting from zero. This matches baremetal behaviour when kvmclock in guest sets sched clock stable. Signed-off-by: Marcelo Tosatti --- arch/x86/kvm/x86.c | 4 ++++ 1 file changed, 4 insertions(+) Index: kvm/arch/x86/kvm/x86.c =================================================================== --- kvm.orig/arch/x86/kvm/x86.c 2015-05-28 19:18:12.621372286 -0300 +++ kvm/arch/x86/kvm/x86.c 2015-05-28 19:19:17.738268690 -0300 @@ -1700,6 +1700,8 @@ vcpu->pvclock_set_guest_stopped_request = false; } + /* pvclock counts from zero */ + pvclock_flags |= PVCLOCK_COUNTS_FROM_ZERO; /* If the host uses TSC clocksource, then it is stable */ if (use_master_clock) pvclock_flags |= PVCLOCK_TSC_STABLE_BIT; @@ -2282,6 +2284,8 @@ &vcpu->requests); ka->boot_vcpu_runs_old_kvmclock = tmp; + + ka->kvmclock_offset = -get_kernel_ns(); } vcpu->arch.time = data;