[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: "Dong, Eddie" <eddie.dong@xxxxxxxxx>, <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@xxxxxx>
  • Date: Sat, 30 Apr 2005 20:42:53 -0700
  • Delivery-date: Sun, 01 May 2005 03:42:27 +0000
  • List-id: DIscussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
  • Thread-index: AcVNWmsE03s0PVd0RSGIR7DeS8HlZwApJXCg
  • Thread-topic: [Xen-ia64-devel] lsapic deliver external IRQ

While Xen/ia64 is executing, interrupts are generally enabled
(and, indeed, may even nest).  If, while Xen is executing,
an interrupt arrives that results in a pending interrupt
for the currently active guest domain, the interrupt needs
to be immediately delivered/injected.  That's why vcpu_pend_interrupt
is called when Xen is about to return to the active domain.
Without this check it might be a very long time before the
guest gets the interrupt. 

> -----Original Message-----
> From: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx 
> [mailto:xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf 
> Of Dong, Eddie
> Sent: Saturday, April 30, 2005 1:59 AM
> To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
> Subject: [Xen-ia64-devel] lsapic deliver external IRQ
> 
> Dan:
>       I guess you will get all our code today or tomorrow, so we may
> go to much details.
>       In ia64_leave_kernel assembly code, the current implementation
> is invoking deliver_pending_interrupt to check if there is any pending
> IRQ that can be injected and inject if it can. What in my mind is like
> followings:
>       Within vcpu_pend_interrupt (when guest IRQ signal is fired), VMM
> do deliver_pending_interrupt() to determine if there is any chance to
> inject guest EX-IRQ. But It is possible that guest ex-IRQ is unable to
> inject at that time and thus pending in vIRR due to vpsr.i or vtpr.
> Within psr/tpr privillege resource update fault, if the guest enables
> vpsr.i or updates TPR, VMM will call 
> deliver_pending_interrupt again to
> re-determine if VMM needs to inject guest ex-IRQ. This is much like an
> event driving guest EX-IRQ injecting mechanism while current 
> one is much
> like a polling mechanism.
>       How about this? If you agree, I will provide a patch for this.
> Eddie
> 
> _______________________________________________
> Xen-ia64-devel mailing list
> Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-ia64-devel
> 

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.