On Mon, Sep 28, 2015 at 3:23 PM, Ian Campbell <ian.campb...@citrix.com> wrote: > On Sat, 2015-09-26 at 21:38 +0530, Vijay Kilari wrote: > >> LPI property table is accessed in interrupt context. So interrupts >> are disabled. > > Interrupts a reenabled while handling an interrupt, so a higher priority > interrupt can still interrupt things. > > See the use of local_irq_enable in gic_interrupt.
true, for this reason, I have taken spin lock with disabled interrrupts when reading guest LPI table. Question is to avoid disabling interrupts for a long time for about 8K/16K lpis state update. The LPI state update from guest LPI property table is done when guest updates GICR_CTLR.EnableLPIs to 1. (I am doing this in next revision). So we can make a check for guest's GICR_CTLR.EnableLPIs field before injecting LPIs to the domain. As per design GICR_CTLR.EnableLPIs should be 0 when updating guest property table. i.e updating GICR_PROPBASER. So that we don't need to disable interrupts(LPIs are already disabled) while reading guest LPI table. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel