[PATCH RFC V2 0/2] KVM: x86: Support using the VMX preemption timer for APIC Timer periodic/oneshot mode

From: Wanpeng Li
Date: Wed Oct 12 2016 - 02:53:13 EST


Most windows guests which I have on hand currently still utilize APIC Timer
periodic/oneshot mode instead of APIC Timer tsc-deadline mode:
- windows 2008 server r2
- windows 2012 server r2
- windows 7
- windows 10

This patchset adds the support using the VMX preemption timer for APIC Timer
periodic/oneshot mode.

I add periodic mode testcase to kvm-unit-tests/apic.flat and observed that w/ patch
the latency is ~13% of w/o patch. I think maybe something is still not right in the
patchset. Your comments to improve the patchset is a great appreciated.

v1 -> v2:
* remember the timeout when setting up the timer to get a correct TMCCT
* move apic->lapic_timer.period/tscdeadline caculations to start_apic_timer()

Wanpeng Li (2):
KVM: lapic: introduce start_sw_period() to handle oneshot/periodic mode
KVM: x86: Support using the VMX preemption timer for APIC Timer periodic/oneshot mode

arch/x86/kvm/lapic.c | 166 ++++++++++++++++++++++++++++++++-------------------
arch/x86/kvm/lapic.h | 1 +
2 files changed, 107 insertions(+), 60 deletions(-)

--
1.9.1