[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] Does Dom0 always get interrupts first before they are delivered to other guest domains?
> -----Original Message----- > From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx > [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Liang Yang > Sent: 16 March 2007 17:30 > To: xen-devel@xxxxxxxxxxxxxxxxxxx > Subject: [Xen-devel] Does Dom0 always get interrupts first > before they are delivered to other guest domains? > > Hello, > > It seems if HVM domains access device using emulation mode > w/ device model > in domain0, Xen hypervisor will send the interrupt event to > domain0 first > and then the device model in domain0 will send event to HVM domains. Ok, so let's see if I've understood your question first: If we do a disk-read (for example), the actual disk-read operation itself will generate an interrupt, which goes into Xen HV where it's converted to an event that goes to Dom0, which in turn wakes up the pending call to read (in this case) that was requesting the disk IO, and then when the read-call is finished an event is sent to the HVM DomU. Is this the sequence of events that you're talking about? If that's what you are talking about, it must be done this way. > > However, if I'm using split driver model and I only run BE driver on > domain0. Does domain0 still get the interrupt first (assume > this interupt is > not owned by the Xen hypervisor ,e.g. local APIC timer) or > Xen hypervisor > will send event directly to HVM domain bypass domain0 for > split driver > model? Not in the above type of scenario. The interrupt must go to the driver-domain (normally Dom0) to indicate that the hardware is ready to deliver the data. This will wake up the user-mode call that waited for the data, and then the data can be delivered to the guest domain from there (which in turn is awakened by the event sent from the driver domain). There is no difference in the number of events in these two cases. There is however a big difference in the number of hypervisor-to-dom0 events that occur: the HVM model will require something in the order of 5 writes to the IDE controller to perform one disk read/write operation. Each of those will incur one event to wake up qemu-dm, and one event to wake the domu (which will most likely just to one or two instructions forward to hit the next write to the IDE controller). > > Another question is: for interrupt delivery, does Xen treat > para-virtualized > domain differently from HVM domain considering using device > model and split > driver model? Not in interrupt delivery, no. Except for the fact that HVM domains obviously have full hardware interfaces for interrupt controllers etc, which adds a little bit of overhead (because each interrupt needs to be acknowledged/cancelled on the interrupt controller, for example). -- Mats > > Thanks a lot, > > Liang > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel > > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |