KVM: nVMX: make emulated nested preemption timer pinned
authorWanpeng Li <wanpeng.li@hotmail.com>
Tue, 30 Aug 2016 08:14:01 +0000 (16:14 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 7 Sep 2016 17:34:27 +0000 (19:34 +0200)
Commit 61abdbe0bc ("kvm: x86: make lapic hrtimer pinned") pins the emulated
lapic timer. This patch does the same for the emulated nested preemption
timer to avoid vmexit an unrelated vCPU and the latency of kicking IPI to
another vCPU.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx.c

index 8d288046676496e4747983191d135bb51b814a28..ccb0356e3f2bbb7bea632364d520d13974578b1c 100644 (file)
@@ -7013,7 +7013,7 @@ static int handle_vmon(struct kvm_vcpu *vcpu)
        vmx->nested.vmcs02_num = 0;
 
        hrtimer_init(&vmx->nested.preemption_timer, CLOCK_MONOTONIC,
-                    HRTIMER_MODE_REL);
+                    HRTIMER_MODE_REL_PINNED);
        vmx->nested.preemption_timer.function = vmx_preemption_timer_fn;
 
        vmx->nested.vmxon = true;