lkml.org 
[lkml]   [2010]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[21/45] [PATCH 7/8] KVM: x86: Move TSC reset out of vmcb_init
    2.6.32-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Zachary Amsden <zamsden@redhat.com>

    commit 47008cd887c1836bcadda123ba73e1863de7a6c4 upstream.

    The VMCB is reset whenever we receive a startup IPI, so Linux is setting
    TSC back to zero happens very late in the boot process and destabilizing
    the TSC. Instead, just set TSC to zero once at VCPU creation time.

    Why the separate patch? So git-bisect is your friend.

    Signed-off-by: Zachary Amsden <zamsden@redhat.com>
    Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    arch/x86/kvm/svm.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/arch/x86/kvm/svm.c
    +++ b/arch/x86/kvm/svm.c
    @@ -621,7 +621,6 @@ static void init_vmcb(struct vcpu_svm *s

    control->iopm_base_pa = iopm_base;
    control->msrpm_base_pa = __pa(svm->msrpm);
    - control->tsc_offset = 0-native_read_tsc();
    control->int_ctl = V_INTR_MASKING_MASK;

    init_seg(&save->es);
    @@ -754,6 +753,7 @@ static struct kvm_vcpu *svm_create_vcpu(
    svm->vmcb_pa = page_to_pfn(page) << PAGE_SHIFT;
    svm->asid_generation = 0;
    init_vmcb(svm);
    + svm->vmcb->control.tsc_offset = 0-native_read_tsc();

    fx_init(&svm->vcpu);
    svm->vcpu.fpu_active = 1;



    \
     
     \ /
      Last update: 2010-11-19 22:53    [W:3.075 / U:0.396 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site