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

Reply via email to