On 14/12/2015 18:01, Andrey Smetanin wrote: > host guest > start periodic stimer > start periodic timer > timer expires after 15ms > send expiration message into guest > restart periodic timer > ....doing something.... > timer expires again after 15 ms > msg slot is still not cleared so > setup ->msg_pending > restart periodic timer > ....doing something.... > process timer msg and clear slot > so ->msg_pending was set: > send EOM into host > received EOM > queued call of kvm_hv_process_stimers() > by KVM_REQ_HV_STIMER > > kvm_hv_process_stimers(): > ... > stimer_stop() > if (time_now >= stimer->exp_time) > stimer_expiration(stimer); > But time_now < stimer->exp_time, so stimer_expiration is not called > in this case and timer is not restarted. so guest lose timer.
Great, this explains it. Paolo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html