Messages in this thread | | | From | "Li,Rongqing" <> | Subject | RE: [PATCH 05/19] KVM: SVM: Compute dest based on sender's x2APIC status for AVIC kick | Date | Thu, 1 Sep 2022 02:56:42 +0000 |
| |
> -----Original Message----- > From: Sean Christopherson <seanjc@google.com> > Sent: Wednesday, August 31, 2022 8:35 AM > To: Sean Christopherson <seanjc@google.com>; Paolo Bonzini > <pbonzini@redhat.com> > Cc: kvm@vger.kernel.org; linux-kernel@vger.kernel.org; Suravee Suthikulpanit > <suravee.suthikulpanit@amd.com>; Maxim Levitsky <mlevitsk@redhat.com>; > Li,Rongqing <lirongqing@baidu.com> > Subject: [PATCH 05/19] KVM: SVM: Compute dest based on sender's x2APIC > status for AVIC kick > > Compute the destination from ICRH using the sender's x2APIC status, not each > (potential) target's x2APIC status. > > Fixes: c514d3a348ac ("KVM: SVM: Update avic_kick_target_vcpus to support > 32-bit APIC ID") > Cc: Li RongQing <lirongqing@baidu.com> > Signed-off-by: Sean Christopherson <seanjc@google.com> > --- > arch/x86/kvm/svm/avic.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/arch/x86/kvm/svm/avic.c b/arch/x86/kvm/svm/avic.c index > b59f8ee2671f..3ace0f2f52f0 100644 > --- a/arch/x86/kvm/svm/avic.c > +++ b/arch/x86/kvm/svm/avic.c > @@ -441,6 +441,7 @@ static int avic_kick_target_vcpus_fast(struct kvm *kvm, > struct kvm_lapic *source static void avic_kick_target_vcpus(struct kvm *kvm, > struct kvm_lapic *source, > u32 icrl, u32 icrh, u32 index) > { > + u32 dest = apic_x2apic_mode(source) ? icrh : > +GET_XAPIC_DEST_FIELD(icrh); > unsigned long i; > struct kvm_vcpu *vcpu; > > @@ -456,13 +457,6 @@ static void avic_kick_target_vcpus(struct kvm *kvm, > struct kvm_lapic *source, > * since entered the guest will have processed pending IRQs at VMRUN. > */ > kvm_for_each_vcpu(i, vcpu, kvm) { > - u32 dest; > - > - if (apic_x2apic_mode(vcpu->arch.apic)) > - dest = icrh; > - else > - dest = GET_XAPIC_DEST_FIELD(icrh); > - > if (kvm_apic_match_dest(vcpu, source, icrl & APIC_SHORT_MASK, > dest, icrl & APIC_DEST_MASK)) { > vcpu->arch.apic->irr_pending = true; > -- > 2.37.2.672.g94769d06f0-goog
Reviewed-by: Li RongQing <lirongqing@baidu.com>
Thanks.
-Li
| |