2017-07-03 16:16 GMT+08:00 Paolo Bonzini <pbonzini@xxxxxxxxxx>: > > > On 03/07/2017 10:08, Wanpeng Li wrote: >>> Yeah, I'm not entirely satisfied with it but it's working: start_sw >>> timer will see ktimer->pending and do nothing. >>> >>> But thinking more about it, maybe the "if (r)" can be omitted >>> completely? We need to benchmark it but it can be done. >> "if (r)" makes codes more understandable, in addition, calling expired >> the pending timer here looks weird though ktimer->pending. > > We can remove the call to apic_timer_expired too (sorry if I was too > terse). :) start_sw_period and start_sw_tscdeadline would take care of it. IRQ disable and ktime_get() in start_sw_tscdeadline() are more expensive. So maybe current status is a better choice. :) Regards, Wanpeng Li