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

From: Wanpeng Li
Date: Thu Oct 13 2016 - 07:52:37 EST


2016-10-13 19:38 GMT+08:00 Wanpeng Li <kernellwp@xxxxxxxxx>:
> 2016-10-13 1:41 GMT+08:00 Radim KrÄmÃÅ <rkrcmar@xxxxxxxxxx>:
>> 2016-10-12 14:52+0800, Wanpeng Li:

[...]

>>> @@ -1711,8 +1753,7 @@ u64 kvm_get_lapic_tscdeadline_msr(struct kvm_vcpu *vcpu)
>>> {
>>> struct kvm_lapic *apic = vcpu->arch.apic;
>>>
>>> - if (!lapic_in_kernel(vcpu) || apic_lvtt_oneshot(apic) ||
>>> - apic_lvtt_period(apic))
>>
>> rdmsr MSR_IA32_TSCDEADLINE has to return 0 when the timer is not in tsc
>> deadline mode, so the condition should stay. (and check for
>> apic_lvtt_tscdeadline(), but that is a unrelated cleanup.)

Actually I modify this function to get apic->lapic_timer.tscdeadline
in kvm_arch_vcpu_load() for periodic/oneshot mode, I introduce another
function to handle this in order to avoid break rdmsr
MSR_IA32_TSCDEADLINE sanity check in RFC V3.

Regards,
Wanpeng Li