|
|
|
|
|
|
|
|
|
|
xen-devel
RE: [Xen-devel] Driver domain - NEW issue: IRQ handling error
> > What I've actually found is that if is disable the disabling of the
> > interrupt in kernel/irq/spurious.c, everything works fine.
> I still get
> > the error messages (I didn't comment them out) about every
> > 50.000-100.000 packets but I don't drop a packet and
> everything works as
> > it should. Now obviously I don't want to keep the disabling irq
> > disabled, but I'm at a loss for how to fix this otherwise.
>
> I think I understand now what's happening:
> - since you have devices on IRQ18 in both dom0 and another domain,
> all IRQ18 interrupts get delivered to both (for loop in
> __do_IRQ_guest in xen/arch/x86/irq.c).
> - the ide driver in dom0 will only handle IRQs for the ide controller.
> - all e1000 interrupts will be counted as spurious/unhandled.
> - if there's hardly any ide interrupts, you can hit the case where
> of 100000 interrupts, 99900 were unhandled and this will cause the
> interrupt to get disabled.
>
> We seem to hit the case mentioned in () above __report_bad_irq. Not
> disabling the interrupt in that case is the correct thing to do, but
> the sharing does certainly have a significant performance impact.
Nicely figured -- I was putting this down to ioapic folklore and just
hoping it was going to go away with new ioapic code...
Shared interrupts across multiple domains are heinous.
Ian
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel
|
|
|
|
|