[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AW: [Xen-users] Xen, IRQ-sharing and PCI passthrough


I read already here and there that you shall not use shared interrupts in 
different PV DomUs,
although I never found a written statement. But behaviour is exactly as you 
described, thus
I took care that cards that share an IRQ are in the same DomU/Dom0. I also 
selected my
motherboards accordingly.

When I lately discussed lately with someone about MSI, I had the hope this 
could help, because
in my system, one PCI slot shares IRQ with the PCIe x1 slots, so by enabling 
MSI for the PCIe
slots, I was hoping to make the PCI slot usable to put it in some DomU. 

I never managed to try it out, though. I was able to enable MSI, but currently 
I have an
old VGA card in the slot, the replacement would be an PCIe VGA that wants too 
much power. 

Anyhow, to proof the theory, please post dmesg | grep GSI, lspci, and cat 
of Dom0 and the used DomUs. But I think you can see on your own. Some 
explanation is also
here (in German):



----- Originalnachricht -----
Von: Florian Wagner <f_wagner@xxxxxxxxxx>
Gesendet: Fre, 26.6.2009 11:15
An: xen-users@xxxxxxxxxxxxxxxxxxx
Betreff: [Xen-users] Xen, IRQ-sharing and PCI passthrough


I'm seeing problems with Xen and IRQ-sharing PCI cards which are passed
through to a Xen DomU. As I'm not sure whether this is a problem with
Xen or with the Debian Xen Kernel (2.6.26-13 from lenny) I'm using, I'd
like to ask here before posting a bug.

Reproducing the problem goes as follows:

 1. Put a PCI card in the machine and make sure it shares it's IRQ with
another one. In my case it is a RIO Specialix card but I doubt this
makes any difference.

 2. Map the card to a domU and use it there. In the RIO case this
requires loading a kernel module and running a "rioboot" tool.

 3. Power down (either shutdown or destroy) the domU without stopping
the card (here: "riostop" and "rmmod rio").

The resulting kernel stack trace is as follows:

[  337.409057] pciback 0000:04:06.0: enabling device (0000 -> 0003)
[  337.480998] ACPI: PCI Interrupt 0000:04:06.0[A] -> Link [LNEA] -> GSI 19 
(level, low) -> IRQ 19
[  361.759041] eth0: port 2(vif2.0) entering disabled state
[  361.845321] eth0: port 2(vif2.0) entering disabled state
[  362.462574] ACPI: PCI interrupt for device 0000:04:06.0 disabled
[  363.769836] irq 19: nobody cared (try booting with the "irqpoll" option)
[  363.817174] Pid: 0, comm: swapper Not tainted 2.6.26-1-xen-amd64 #1
[  363.817174]
[  363.817174] Call Trace:
[  363.817174]  <IRQ>  [<ffffffff8037c9b0>] irq_ignore_unhandled+0x1c/0x32
[  364.024802]  [<ffffffff8025f9ab>] __report_bad_irq+0x30/0x72
[  364.024802]  [<ffffffff8025fc74>] note_interrupt+0x287/0x2c7
[  364.024802]  [<ffffffff8026055c>] handle_level_irq+0xc3/0x118
[  364.024802]  [<ffffffff8020e13e>] do_IRQ+0x4e/0x9a
[  364.024802]  [<ffffffff8037d6c4>] evtchn_do_upcall+0x13c/0x1fc
[  364.024802]  [<ffffffff8020bbde>] do_hypervisor_callback+0x1e/0x30
[  364.024802]  <EOI>  [<ffffffff8037c992>] force_evtchn_callback+0xa/0xb
[  364.024802]  [<ffffffff8020e795>] xen_safe_halt+0x90/0xa6
[  364.024802]  [<ffffffff8020a0c8>] xen_idle+0x2e/0x66
[  364.024802]  [<ffffffff80209cd6>] cpu_idle+0x97/0xb9
[  364.024802]
[  364.024802] handlers:
[  364.024802] [<ffffffffa00b42ad>] (megasas_isr+0x0/0x45 [megaraid_sas])
[  364.024802] Disabling IRQ #19

My take on this: Xen (or rather the dom0 kernel?) disables the shared
IRQ, which at that time is still in use by the other card. In my case
this crashes the machine, since the IRQ is shared with the RAID

So: Is it a kernel or a hypervisor bug? And should it be reported to the
Xen or the Debian maintainers?



Florian Wagner
Abteilung EDV
Telefon: 0821 / 4201 - 453
Fax: 0821 / 4201 - 411
E-Mail: f_wagner@xxxxxxxxxx

Syscomp Biochemische Dienstleistungen GmbH
August-Wessels-Straße 5, 86154 Augsburg
Postfach 102506, 86015 Augsburg
Telefon: 0821 / 4201 - 0
Fax: 0821 / 417992
Web: http://www.syscomp.de
E-Mail: syscomp@xxxxxxxxxx

  Dr. med. Bernd Schottdorf
  Gabriele Schottdorf

Registergericht Augsburg HRB 8670

Xen-users mailing list

Xen-users mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.