>>> On 29.03.17 at 07:11, <chao....@intel.com> wrote: > @@ -442,17 +397,24 @@ int pt_irq_create_bind( > dest_vcpu_id = hvm_girq_dest_2_vcpu_id(d, dest, dest_mode); > pirq_dpci->gmsi.dest_vcpu_id = dest_vcpu_id; > spin_unlock(&d->event_lock); > + > + pirq_dpci->gmsi.posted = false; > + vcpu = (dest_vcpu_id >= 0) ? d->vcpu[dest_vcpu_id] : NULL; > + if ( iommu_intpost && (delivery_mode == dest_LowestPrio) )
Why again would dest_Fixed not allow posted delivery? This needs recording in a comment, if there really is such a restriction. Or did you really mean to place ... > + { > + vcpu = vector_hashing_dest(d, dest, dest_mode, > + pirq_dpci->gmsi.gvec); > + if ( vcpu ) > + pirq_dpci->gmsi.posted = true; ... this ... > + } ... after this brace (which then wouldn't be needed anymore)? If so, is there any point calling vector_hashing_dest() when vcpu is already non-NULL prior to the if()? This then also raises the question whether the call to hvm_girq_dest_2_vcpu_id() is actually legitimate for lowest priority delivery mode. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel