[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] FW: about VIRQ & PIRQ
> what is VIRQÂ ?How VIRQ is different from PIRQ ?How VIRQ & PIRQ are > related each other in xen ? Lets take a step back. In Xen, interrupt-like events are carried by "event channels". An event channel is a general mechanism for a domain receiving a notification "something happened on event channel n". That's all the information an event conveys, it's up to the domain to figure out what to do next. PIRQs represent physical interrupts from the real hardware. If a domain is controlling a real hardware device (such as a network card) it needs to receive IRQs it generates, just like it would on a native system. Xen allows the domain to bind the IRQ line of that device to an event channel in the guest - this allows the guest to receive "something happened" notifications so that it can handle the device appropriately. This kind of event channel notification is referred to as a PIRQ to show that it comes from a *physical* (not virtual) source. If I recall correctly, PIRQs are mapped one-to-one onto the lower numbered event channels (I'm not sure if this is specific to XenLinux or part of the Xen API). A VIRQ is a interrupt-like event that originates from Xen itself. An example would be notifications from the Xen virtual timer device. Again, the guest sees it as an event channel notification but this time we call it a VIRQ to show that it comes from an entirely *virtual* source. There are actually more variations to event channels: events might also come from another domain we are communicating with, or (I think) from another VCPU in the same domain. Hope this helps, 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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |