All of lore.kernel.org
 help / color / mirror / Atom feed
* Driver domain - NEW issue: IRQ handling error
@ 2005-02-01 13:11 B.G. Bruce
  2005-02-01 13:10 ` Mark Williamson
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: B.G. Bruce @ 2005-02-01 13:11 UTC (permalink / raw)
  To: xen-devel

Okay, I'm using a bk snapshot of testing as of 20:40 (-4:00) yesterday
so I'm pretty sure this hasn't been addressed already.  

Symptom:

While running a "ping -f <some local host outside the box>" from dom0
where the physical nic is in a driver dom (bridged), after about 1
minute the connection dies and won't restart.  (even with a reboot of
the driver domain).

ex.  Dom0 vif1.0=10.1.1.1/24
     outside host=10.1.1.2/24

	e1000 driver dom = bridge containing physical e1000(eth0) and virtual
nic (eth1)

dmesg on dom0 gives:
irq 18: nobody cared!
 [<c012a4b7>]
 [<c012a547>]
 [<c0129f6c>]
 [<c010cd1b>]
 [<c0105c13>]
 [<c0108aa3>]
 [<c0106c05>]
 [<c0106c39>]
 [<c02e2621>]
handlers:
[<c020cdb6>]
[<cc94b867>]
Disabling IRQ #18


and a dmesg of the driver domain shows that the nic hooked IRQ 18:

Intel(R) PRO/1000 Network Driver - version 5.5.4-k2-NAPI
Copyright (c) 1999-2004 Intel Corporation.
PCI: Obtained IRQ 18 for device 0000:01:01.0
PCI: Setting latency timer of device 0000:01:01.0 to 64
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection

Am I correct in that the interrupt that should have been sent to the
driver domain was instead sent to dom0?  or what happened?  If I don't
have the driver dom setup correctly, would someone please explain what
I'm doing wrong?

Thanks,
B.


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

^ permalink raw reply	[flat|nested] 15+ messages in thread
* RE: Driver domain - NEW issue: IRQ handling error
@ 2005-02-02 22:43 Ian Pratt
  0 siblings, 0 replies; 15+ messages in thread
From: Ian Pratt @ 2005-02-02 22:43 UTC (permalink / raw)
  To: Christian Limpach, B.G. Bruce; +Cc: xen-devel, Keir Fraser

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2005-02-02 22:43 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-01 13:11 Driver domain - NEW issue: IRQ handling error B.G. Bruce
2005-02-01 13:10 ` Mark Williamson
2005-02-01 13:48   ` B.G. Bruce
2005-02-01 16:13   ` B.G. Bruce
2005-02-01 17:01     ` B.G. Bruce
2005-02-02  1:01       ` B.G. Bruce
2005-02-01 19:19 ` Anonymous
2005-02-02  1:28 ` Christian Limpach
2005-02-02  2:09   ` B.G. Bruce
2005-02-02  2:47     ` Christian Limpach
2005-02-02 17:48       ` B.G. Bruce
2005-02-02 18:00       ` B.G. Bruce
2005-02-02 20:04         ` Christian Limpach
2005-02-02 21:26           ` B.G. Bruce
  -- strict thread matches above, loose matches on Subject: below --
2005-02-02 22:43 Ian Pratt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.