[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] vlapic/viridian: abort existing APIC assist if any vector is pending in ISR
>>> On 07.03.17 at 15:58, <paul.durrant@xxxxxxxxxx> wrote: > The vlapic code already aborts an APIC assist if an interrupt is deferred > because a higher priority interrupt has already been delivered (and hence > its vector is pending in the ISR). > > However, it is also necessary to abort an APIC assist in the case where a > higher priority is about to be delivered because, in either case, at least > two vectors will be pending in the ISR and hence an EOI is necessary. > > Also, following on from the above reasoning, the decision to start a new > APIC assist should clearly be based upon whether any other vector is > pending in the ISR, regardless of whether it is lower or higher in > priority. (In fact the code in question cannot be reached if the > vector is lower in priority). Thus the single use of > vlapic_find_lowest_vector() can be replaced with a call to > vlapic_find_highest_isr() and the former function removed. > > Without this patch, because the logic is flawed, a domain_crash() results > when an attempt is made to erroneously start a new APIC assist. > > Reported-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |