]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
KVM: s390: base hrtimer on a monotonic clock
authorDavid Hildenbrand <dahi@linux.vnet.ibm.com>
Fri, 12 Dec 2014 14:17:31 +0000 (15:17 +0100)
committerZefan Li <lizefan@huawei.com>
Fri, 19 Jun 2015 03:40:12 +0000 (11:40 +0800)
commit 0ac96caf0f9381088c673a16d910b1d329670edf upstream.

The hrtimer that handles the wait with enabled timer interrupts
should not be disturbed by changes of the host time.

This patch changes our hrtimer to be based on a monotonic clock.

Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
[lizf: Backported to 3.4: adjust context]
Signed-off-by: Zefan Li <lizefan@huawei.com>
arch/s390/kvm/kvm-s390.c

index 0f250d12a18cbd6ca6d354c5c58c895515006141..7e6ac1f829e7820bcaaeb010fe0635c273fe1a81 100644 (file)
@@ -347,7 +347,7 @@ int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu)
        vcpu->arch.sie_block->ecb   = 6;
        vcpu->arch.sie_block->eca   = 0xC1002001U;
        vcpu->arch.sie_block->fac   = (int) (long) facilities;
-       hrtimer_init(&vcpu->arch.ckc_timer, CLOCK_REALTIME, HRTIMER_MODE_ABS);
+       hrtimer_init(&vcpu->arch.ckc_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
        tasklet_init(&vcpu->arch.tasklet, kvm_s390_tasklet,
                     (unsigned long) vcpu);
        vcpu->arch.ckc_timer.function = kvm_s390_idle_wakeup;