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