From: Florian Wagner <f_wagner@syscomp.de>
To: xen-devel@lists.xensource.com
Subject: Xen, IRQ-sharing and PCI passthrough
Date: Tue, 7 Jul 2009 08:19:52 +0200 [thread overview]
Message-ID: <20090707081952.5305d4c1@auedv3.syscomp.de> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 3448 bytes --]
Hello,
I've already sent this mail to the xen-users mailing list but haven't
gotten a useful answer. So excuse my double post.
I'm seeing problems with Xen and IRQ-sharing PCI cards which are passed
through to a Xen DomU. I'm not sure whether this is a problem with Xen
or with the Debian Xen Kernel (2.6.26-13 and newer from lenny) I'm
using. Judging from the single reply I got on xen-users I suspect the
former.
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
controller (sometimes resulting in destroyed filesystems).
Is there some other way to fix this than making sure the cards don't
share IRQs (which is quite a hassle when building a significant number
of machines with this configuration but with slightly different
hardware)? A fix from a newer Xen release we could backport to our
Debian kernel perhaps?
Regards
Florian
------------------------------------------
Florian Wagner
Abteilung EDV
Telefon: 0821 / 4201 - 453
Fax: 0821 / 4201 - 411
E-Mail: f_wagner@syscomp.de
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@syscomp.de
Geschäftsführer:
Dr. med. Bernd Schottdorf
Gabriele Schottdorf
Registergericht Augsburg HRB 8670
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
[-- Attachment #2: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
next reply other threads:[~2009-07-07 6:19 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-07 6:19 Florian Wagner [this message]
2009-07-07 7:22 ` Xen, IRQ-sharing and PCI passthrough Keir Fraser
2009-07-07 7:32 ` Jan Beulich
2009-07-07 7:39 ` Keir Fraser
2009-07-08 6:35 ` Florian Wagner
2009-07-08 7:31 ` Keir Fraser
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090707081952.5305d4c1@auedv3.syscomp.de \
--to=f_wagner@syscomp.de \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.