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-devel

Re: [Xen-devel] FW: about VIRQ & PIRQ

> > > Does this means if hypervisor recieves an interrupt from an external
> > > card on the behalf of a domU, it actually buffers it like a an APIC
> > > before eventually generating a VIRQ to the respective domU?
> >
> > Yes, essentially so. There is a bitmap for each guest of "pending
> > interrupts", which is read based on an event to the guest.
> >
> > > The above question is more obvious when we have an external hardware
> > > device which generates interrupts are a very high rate e.g a busy
> > > network card.
> > >
> > > So, does Xen buffers the recieved IRQs if it is unable to send the IRQ
> > > to the correct domU?
> >
> > It is "never unable" to send the IRQ to the guest. The guest may be
> > unable to TAKE the interrupt at this point, but it's never unable for
> > the hypervisor to "send" the IRQ to the guest.
>
> Yes, messed that up here.

That said, the IRQ upcall isn't delivered immediately to the guest if the 
guest isn't scheduled at the time.  The event will be marked pending and the 
guest should get an upcall from Xen when it's next scheduled.  This is true 
for dom0 also, since it's treated in the same way.

If the guest has the event channel masked when the event occurs, an upcall 
will not be made - it's the responsibility of the guest to check whether an 
event has occurred whilst the event channel is masked.

Cheers,
Mark


-- 
Dave: Just a question. What use is a unicyle with no seat?  And no pedals!
Mark: To answer a question with a question: What use is a skateboard?
Dave: Skateboards have wheels.
Mark: My wheel has a wheel!

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

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