>>> On 07.03.17 at 15:58, <paul.durr...@citrix.com> 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.coop...@citrix.com> > Signed-off-by: Paul Durrant <paul.durr...@citrix.com>
Reviewed-by: Jan Beulich <jbeul...@suse.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel