lkml.org 
[lkml]   [2021]   [Oct]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v2 41/43] KVM: VMX: Pass desired vector instead of bool for triggering posted IRQ
    From
    Date
    On Fri, 2021-10-08 at 19:12 -0700, Sean Christopherson wrote:
    > Refactor the posted interrupt helper to take the desired notification
    > vector instead of a bool so that the callers are self-documenting.
    >
    > No functional change intended.
    >
    > Signed-off-by: Sean Christopherson <seanjc@google.com>
    > ---
    > arch/x86/kvm/vmx/vmx.c | 8 +++-----
    > 1 file changed, 3 insertions(+), 5 deletions(-)
    >
    > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
    > index 78c8bc7f1b3b..f505fee3cf5c 100644
    > --- a/arch/x86/kvm/vmx/vmx.c
    > +++ b/arch/x86/kvm/vmx/vmx.c
    > @@ -3928,11 +3928,9 @@ static void vmx_msr_filter_changed(struct kvm_vcpu *vcpu)
    > }
    >
    > static inline bool kvm_vcpu_trigger_posted_interrupt(struct kvm_vcpu *vcpu,
    > - bool nested)
    > + int pi_vec)
    > {
    > #ifdef CONFIG_SMP
    > - int pi_vec = nested ? POSTED_INTR_NESTED_VECTOR : POSTED_INTR_VECTOR;
    > -
    > if (vcpu->mode == IN_GUEST_MODE) {
    > /*
    > * The vector of interrupt to be delivered to vcpu had
    > @@ -3986,7 +3984,7 @@ static int vmx_deliver_nested_posted_interrupt(struct kvm_vcpu *vcpu,
    > */
    > kvm_make_request(KVM_REQ_EVENT, vcpu);
    > /* the PIR and ON have been set by L1. */
    > - if (!kvm_vcpu_trigger_posted_interrupt(vcpu, true))
    > + if (!kvm_vcpu_trigger_posted_interrupt(vcpu, POSTED_INTR_NESTED_VECTOR))
    > kvm_vcpu_wake_up(vcpu);
    > return 0;
    > }
    > @@ -4024,7 +4022,7 @@ static int vmx_deliver_posted_interrupt(struct kvm_vcpu *vcpu, int vector)
    > * guaranteed to see PID.ON=1 and sync the PIR to IRR if triggering a
    > * posted interrupt "fails" because vcpu->mode != IN_GUEST_MODE.
    > */
    > - if (!kvm_vcpu_trigger_posted_interrupt(vcpu, false))
    > + if (!kvm_vcpu_trigger_posted_interrupt(vcpu, POSTED_INTR_VECTOR))
    > kvm_vcpu_wake_up(vcpu);
    >
    > return 0;

    I both like and don't like this patch.

    It is indeed a bit more more self documented, but then it allows caller to
    pass anything other than POSTED_INTR_NESTED_VECTOR/POSTED_INTR_VECTOR which
    would fail.

    Maybe addd an assert?

    I won't do bikesheddding about this though, so

    Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>

    Best regards,
    Maxim Levitsky

    \
     
     \ /
      Last update: 2021-10-31 23:26    [W:4.129 / U:0.260 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site