Messages in this thread | | | From | Wanpeng Li <> | Date | Thu, 23 Apr 2020 17:44:58 +0800 | Subject | Re: [PATCH v2 1/5] KVM: LAPIC: Introduce interrupt delivery fastpath |
| |
On Thu, 23 Apr 2020 at 17:41, Paolo Bonzini <pbonzini@redhat.com> wrote: > > On 23/04/20 11:35, Wanpeng Li wrote: > >> Ok, got it now. The problem is that deliver_posted_interrupt goes through > >> > >> if (!kvm_vcpu_trigger_posted_interrupt(vcpu, false)) > >> kvm_vcpu_kick(vcpu); > >> > >> Would it help to make the above > >> > >> if (vcpu != kvm_get_running_vcpu() && > >> !kvm_vcpu_trigger_posted_interrupt(vcpu, false)) > >> kvm_vcpu_kick(vcpu); > >> > >> ? If that is enough for the APICv case, it's good enough. > > We will not exit from vmx_vcpu_run to vcpu_enter_guest, so it will not > > help, right? > > Oh indeed---the call to sync_pir_to_irr is in vcpu_enter_guest. You can > add it to patch 3 right before "goto cont_run", since AMD does not need it.
Just move kvm_x86_ops.sync_pir_to_irr(vcpu)? How about the set pir/on part for APICv and non-APICv part in fast_deliver_interrupt()?
Wanpeng
| |