[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 1091766] Re: Physical host crash with Mellanox IB PCI
From: |
Alex Williamson |
Subject: |
[Qemu-devel] [Bug 1091766] Re: Physical host crash with Mellanox IB PCI passthrough |
Date: |
Wed, 19 Dec 2012 15:31:59 -0000 |
VFIO is doing what I expect, growing the enabled vectors as each is
unmasked. It starts from 1 and has to disable and re-enable each time
it grows, so we have:
| vfio-pci 0000:20:00.0: irq 150 for MSI/MSI-X
1
| vfio-pci 0000:20:00.0: irq 150 for MSI/MSI-X
| vfio-pci 0000:20:00.0: irq 151 for MSI/MSI-X
1 -> 2
| vfio-pci 0000:20:00.0: irq 150 for MSI/MSI-X
| vfio-pci 0000:20:00.0: irq 151 for MSI/MSI-X
| vfio-pci 0000:20:00.0: irq 152 for MSI/MSI-X
2 -> 3
| vfio-pci 0000:20:00.0: irq 150 for MSI/MSI-X
| vfio-pci 0000:20:00.0: irq 151 for MSI/MSI-X
| vfio-pci 0000:20:00.0: irq 152 for MSI/MSI-X
| vfio-pci 0000:20:00.0: irq 153 for MSI/MSI-X
3 -> 4
So you likely see through lspci that both the guest and host have 4
vectors enabled.
On legacy assignment we have:
| pci-stub 0000:20:00.0: irq 134 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 135 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 136 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 137 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 138 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 139 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 140 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 141 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 142 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 143 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 144 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 145 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 146 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 147 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 148 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 149 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 150 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 151 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 152 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 153 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 154 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 155 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 156 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 157 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 158 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 159 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 160 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 161 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 162 for MSI/MSI-X
| pci-stub 0000:20:00.0: irq 163 for MSI/MSI-X
So you have 30 vectors enabled in the host! wow. Does lspci in host
and guest confirm this? (ie. 30 vectors on the host and likely 4
vectors on the guest) If so, I'll need to look to see if we can apply
something more similar to the vfio solution to legacy assignment,
otherwise we're wasting a lot of vectors in the host. Did qemu-kvm-1.0
consume this many vectors? Thanks.
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1091766
Title:
Physical host crash with Mellanox IB PCI passthrough
Status in QEMU:
New
Bug description:
(from
http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/100736)
We have been using PCI passthrough with the Mellanox IB interface
(MT27500 Family [ConnectX-3]) on Debian 6.0.6, kernel 3.2.23 and
qemu-kvm-1.0 (both from backports). It worked fine until latest
update in backports to qemu-kvm-1.1.2. With newer qemu-kvm versions
IB device probe in guest fails leaving firmware to kill whole physical
machine.
I have then compiled qemu-kvm from source, 1.0.1 was OK, 1.1.2 fails and
even 1.2.0 fails as well. Our setup is based on IBM System X iDataPlex
dx360 M4 Server.
Note: Now I have also tested latest qemu-1.3.0 with linux 3.7.1 and
new VFIO mechanism and behaves the same way.
On guest the mlx4_core fails to probe device:
| mlx4_core 0000:00:08.0: irq 74 for MSI/MSI-X
| mlx4_core 0000:00:08.0: irq 75 for MSI/MSI-X
| mlx4_core 0000:00:08.0: irq 76 for MSI/MSI-X
| mlx4_core 0000:00:08.0: irq 77 for MSI/MSI-X
| mlx4_core 0000:00:08.0: NOP command failed to generate MSI-X interrupt IRQ
51).
| mlx4_core 0000:00:08.0: Trying again without MSI-X.
| mlx4_core 0000:00:08.0: NOP command failed to generate interrupt (IRQ 51),
aborting.
| mlx4_core 0000:00:08.0: BIOS or ACPI interrupt routing problem?
| mlx4_core 0000:00:08.0: PCI INT A disabled
| mlx4_core: probe of 0000:00:08.0 failed with error -16
Which immediately results in reset of the whole physical machine:
| Uhhuh. NMI received for unknown reason 3d on CPU 0.
| Do you have a strange power saving mode enabled?
| Dazed and confused, but trying to continue
Followed by events in hardware management module:
| A software NMI has occurred on system "SN# xxxxxxx"
| Fault in slot "All PCI Err" on system "SN# xxxxxxx"
| Fault in slot "PCI 1" on system "SN# xxxxxxx"
| A Uncorrectable Bus Error has occurred on system "SN# xxxxxxx"
| "Host Power" has been Power Cycled
| System "SN# xxxxxxx" has recovered from an NMI
Kernel logs for both host/guest machines and different qemu-kvm
versions are attached. PCI passthrough for e.g. Intel e1000 works
fine with all tested qemu-kvm versions.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1091766/+subscriptions
- [Qemu-devel] [PATCH RfC 0/9] chardev hotplug, Gerd Hoffmann, 2012/12/19
- [Qemu-devel] [PATCH 2/9] chardev: fix QemuOpts lifecycle, Gerd Hoffmann, 2012/12/19
- [Qemu-devel] [PATCH 9/9] chardev: hotplug, qmp, parallel, Gerd Hoffmann, 2012/12/19
- [Qemu-devel] [PATCH 8/9] chardev: hotplug, qmp, serial, Gerd Hoffmann, 2012/12/19
- [Qemu-devel] [PATCH 6/9] chardev: hotplug, qmp, file, Gerd Hoffmann, 2012/12/19
- [Qemu-devel] [PATCH 7/9] chardev: hotplug, qmp, tty, Gerd Hoffmann, 2012/12/19
- [Qemu-devel] [PATCH 4/9] chardev: hotplug, qmp, null, Gerd Hoffmann, 2012/12/19
- [Qemu-devel] [PATCH 1/9] chardev: add error reporting for qemu_chr_new_from_opts, Gerd Hoffmann, 2012/12/19
- [Qemu-devel] [PATCH 3/9] chardev: reduce chardev ifdef mess a bit, Gerd Hoffmann, 2012/12/19
- [Qemu-devel] [PATCH 5/9] chardev: hotplug, hmp, Gerd Hoffmann, 2012/12/19