On 06/05/20 18:48, Sean Christopherson wrote: >> >> Can you think of something that can go wrong if we just move all >> requests, except for KVM_REQ_EVENT, up from vcpu_enter_guest() to >> vcpu_run()? That might be more or less as ad hoc as Oliver's patch, but >> without the code duplication at least. > I believe the kvm_hv_has_stimer_pending() check in kvm_vcpu_has_events() > will get messed up, e.g. handling KVM_REQ_HV_STIMER will clear the pending > bit. No idea if that can interact with HLT though. That wouldn't be a problem, because you'd get out of HLT if needed via stimer_expiration (and then stimer_notify_direct->kvm_apic_set_irq or stimer_send_msg->synic_deliver_msg->synic_set_irq->kvm_irq_delivery_to_apic) which is called from kvm_hv_process_stimers. Paolo