On Fri, Jan 15, 2021 at 03:28:20PM +0100, Roger Pau Monne wrote: > Current interrupt pass though code will setup a timer for each > interrupt injected to the guest that requires an EOI from the guest. > Such timer would perform two actions if the guest doesn't EOI the > interrupt before a given period of time. The first one is deasserting > the virtual line, the second is perform an EOI of the physical > interrupt source if it requires such. > > The deasserting of the guest virtual line is wrong, since it messes > with the interrupt status of the guest. This seems to have been done > in order to compensate for missing deasserts when certain interrupt > controller actions are performed. The original motivation of the > introduction of the timer was to fix issues when a GSI was shared > between different guests. We believe that other changes in the > interrupt handling code (ie: proper propagation of EOI related actions > to dpci) will have fixed such errors now. > > Performing an EOI of the physical interrupt source is redundant, since > there's already a timer that takes care of this for all interrupts, > not just the HVM dpci ones, see irq_guest_action_t struct eoi_timer > field. > > Since both of the actions performed by the dpci timer are not > required, remove it altogether. > > Signed-off-by: Roger Pau Monné <roger....@citrix.com> > --- > Changes since v1: > - Add parentheses.
This is a lie because I forgot to refresh the patch before sending. Will send a new version if required. Thanks, Roger.