[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-ia64-devel] lsapic deliver external IRQ
The pending_interruption flag is critical for paravirtualized guests as it avoids many unnecessary privops/hypercalls when enabling interrupts. Most of the time, when the rsm instruction is executed, there are no pending interrupts for the guest, so the paravirtualization of rsm psr.i in the current implementation is: tmp = shared_page.interrupt_enabled. shared_page.interrupt_enabled = 1 if (!tmp && shared_page.pending_interruption) rsm psr.i*** *** or perhaps in a later implementation, do a (fast) hypercall If your patch preserves this (or handles it better), yes, I would like to see it (though it may be better to submit it separate from the rest of the VT code so it can be reviewed easier). > -----Original Message----- > From: Dong, Eddie [mailto:eddie.dong@xxxxxxxxx] > Sent: Sunday, May 01, 2005 6:43 PM > To: Magenheimer, Dan (HP Labs Fort Collins); > xen-ia64-devel@xxxxxxxxxxxxxxxxxxx > Cc: ipf-xen > Subject: RE: [Xen-ia64-devel] lsapic deliver external IRQ > > Magenheimer, Dan (HP Labs Fort Collins) wrote: > > > > I see... if you are suggesting that the call to > > check_pending_interrupts is expensive and returns "no > > interrupt" almost all the time, I fully agree. > > This call could/should be changed to just check > > the domain's pending_interruption flag. But I seem > > to recall that I tried that and the test failed (probably > > the machine froze) so I fell back to the more conservative > > call that worked. Perhaps it is time to try it again. > > > > Dan > Thanks, we got same point. > > BTW, set pending_interruption flag has potential issue as > vpsr.i and vtpr may change time by time. My proposal will > eliminate deliver_pending_interrupt function so that HV > return to guest will not need to check any pending IRQs. > Instead when guest vIRR get changed or vpsr.i and vtpr get > changed, I inject/reflect interruption immediately if it > meets the interrupt deliver condition. (I.e change guest > context for external IRQ immediately). > I will provide this patch together in the merge if you like to see it. > Eddie > _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |