Re: [PATCH v3] KVM: LAPIC: Fix lapic timer injection delay

From: Paolo Bonzini
Date: Thu Jun 29 2017 - 07:43:23 EST




On 29/06/2017 10:44, Wanpeng Li wrote:
>>> You still need to enable the preemption timer even if you return 1, so
>>> in lapic.c it becomes
>>>
>>> if (!apic_lvtt_period(apic)) {
>>> if (r)
>>> apic_timer_expired(apic);
>>> if (atomic_read(&apic->lapic_timer.pending))
>>> need_cancel = true;
>>> }
>> I think the codes are more clear but the same as above. We didn't
>> program preemption timer vmcs field if delta == 0, so how to
>> understand "need to enable the preemption timer even if return 1"?
> I guess you mean start_hv_timer() should return true, right?

vmx.c's set_hv_timer callback should set the preemption timer execution
control. Otherwise, kvm_lapic_hv_timer_expired is again not called.

Paolo