]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: VMX: Handle preemption timer fastpath
authorWanpeng Li <wanpengli@tencent.com>
Wed, 6 May 2020 15:44:01 +0000 (11:44 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 15 May 2020 16:26:22 +0000 (12:26 -0400)
commit13ad1d9f922e8412a9be84b0c14fd55429969e28
tree7a833a54ea4b38f342c5f3bbe22e1bfc0f4138d6
parent0f965331b9d9924dd574c59aabef37fe1c0db56e
KVM: VMX: Handle preemption timer fastpath

This patch implements a fastpath for the preemption timer vmexit.  The vmexit
can be handled quickly so it can be performed with interrupts off and going
back directly to the guest.

Testing on SKX Server.

cyclictest in guest(w/o mwait exposed, adaptive advance lapic timer is default -1):

5540.5ns -> 4602ns       17%

kvm-unit-test/vmexit.flat:

w/o avanced timer:
tscdeadline_immed: 3028.5  -> 2494.75  17.6%
tscdeadline:       5765.7  -> 5285      8.3%

w/ adaptive advance timer default -1:
tscdeadline_immed: 3123.75 -> 2583     17.3%
tscdeadline:       4663.75 -> 4537      2.7%

Tested-by: Haiwei Li <lihaiwei@tencent.com>
Cc: Haiwei Li <lihaiwei@tencent.com>
Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
Message-Id: <1588055009-12677-8-git-send-email-wanpengli@tencent.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx/vmx.c