WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

RE: [Xen-ia64-devel] lsapic deliver external IRQ

To: "Dong, Eddie" <eddie.dong@xxxxxxxxx>, <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-ia64-devel] lsapic deliver external IRQ
From: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@xxxxxx>
Date: Sun, 1 May 2005 18:57:06 -0700
Cc: ipf-xen <ipf-xen@xxxxxxxxx>
Delivery-date: Mon, 02 May 2005 01:56:53 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: DIscussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcVNWmsE03s0PVd0RSGIR7DeS8HlZwApJXCgAA+89RAAFgPrQAAD3ctwAAT+oQA=
Thread-topic: [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

<Prev in Thread] Current Thread [Next in Thread>