lkml.org 
[lkml]   [2015]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC PATCH 0/2] kvmclock: fix ABI breakage from PVCLOCK_COUNTS_FROM_ZERO.
    Date
    This patch series will be disabling PVCLOCK_COUNTS_FROM_ZERO flag and is
    RFC because I haven't explored many potential problems or tested it.

    [1/2] uses a different algorithm in the guest to start counting from 0.
    [2/2] stops exposing PVCLOCK_COUNTS_FROM_ZERO in the hypervisor.

    A viable alternative would be to implement opt-in features in kvm clock.

    And because we probably only broke one old user (the infamous SLES 10), a
    workaround like this is also possible: (but I'd rather not do that)

    diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
    index a60bdbccff51..ae9049248aaf 100644
    --- a/arch/x86/kvm/x86.c
    +++ b/arch/x86/kvm/x86.c
    @@ -2007,7 +2007,8 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info)

    ka->boot_vcpu_runs_old_kvmclock = tmp;

    - ka->kvmclock_offset = -get_kernel_ns();
    + if (!ka->boot_vcpu_runs_old_kvmclock)
    + ka->kvmclock_offset = -get_kernel_ns();
    }

    vcpu->arch.time = data;

    Radim Krčmář (2):
    x86: kvmclock: abolish PVCLOCK_COUNTS_FROM_ZERO
    Revert "KVM: x86: zero kvmclock_offset when vcpu0 initializes kvmclock
    system MSR"

    arch/x86/include/asm/pvclock-abi.h | 1 +
    arch/x86/kernel/kvmclock.c | 46 +++++++++++++++++++++++++++++---------
    arch/x86/kvm/x86.c | 4 ----
    3 files changed, 36 insertions(+), 15 deletions(-)
    --
    2.5.2



    \
     
     \ /
      Last update: 2015-09-18 18:21    [W:3.496 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site