On Thu, Sep 30, 2010 at 11:38:21AM +0200, Inigo Losada wrote: > > El 29/09/2010, a las 10:56, Sebastian Hetze escribió: > > > On Tue, Sep 28, 2010 at 10:27:18AM +0200, Inigo Losada wrote: > >> We are using pci passthrough with an SCSI Adapter card. The system is: > >> > >> - O.S: Ubuntu 10.04.1 LTS > >> - KVM Packages: > >> > >> kvm 1:84+dfsg-0ubuntu16+0.12.3+noroms+0ubuntu9.2 > >> kvm-pxe 5.4.4-1ubuntu1 > >> qemu-kvm 0.12.3+noroms-0ubuntu9.2 > >> libvirt-bin 0.7.5-5ubuntu27.2 > >> python-libvirt 0.7.5-5ubuntu27.2 > >> libvirt0 0.7.5-5ubuntu27.2 > >> > >> - Kernel 2.6.32.15+drm33.5.iommu recompiled with following options : > >> > >> CONFIG_DMAR=y > >> CONFIG_INTR_REMAP=y > >> > >> - Apparmor is stopped > >> > >> When we started the virtual machine we obtain the following error: > >> > >> char device redirected to /dev/pts/3 > >> device: 04:04.0: driver="pci-assign" host="04:04.0" > >> Failed to assign irq for "04:04.0": Operation not permitted > >> Perhaps you are assigning a device that shares an IRQ with another device? > > > > So do you? > > > > The notes in > > http://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM > > give you this information: > > > > * VT-d spec specifies that all conventional PCI devices behind a > > * PCIe-to PCI/PCI-X bridge or conventional PCI bridge can only be > > * collectively assigned to the same guest. PCIe devices do not have > > * this restriction. > > * If the device doesn't support MSI, and it shares IRQ with other > > * devices, then it cannot be assigned due to host irq sharing for > > * assigned devices is not supported. You will get warning message > > * when you assign it. Notice this also apply to the devices which > > * only support MSI-X. > > > > What do you find in /proc/interrupts ? > > > > cat /proc/interrupts > CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 > 0: 1000831147 0 0 0 0 0 0 0 IR-IO-APIC-edge timer > 1: 90 0 0 0 0 0 0 0 IR-IO-APIC-edge i8042 > 3: 2 0 0 0 0 0 0 0 IR-IO-APIC-edge > 4: 2 0 0 0 0 0 0 0 IR-IO-APIC-edge > 8: 1 0 0 0 0 0 0 0 IR-IO-APIC-edge rtc0 > 9: 0 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi acpi > 12: 135 300 0 0 0 0 0 0 IR-IO-APIC-edge i8042 > 16: 0 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi uhci_hcd:usb3 > 18: 2 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb8 > 19: 0 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi ata_piix, ata_piix, uhci_hcd:usb5, uhci_hcd:usb7 > 21: 31 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi uhci_hcd:usb4 > 23: 93 0 0 21758350 0 0 0 0 IR-IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb6 > 26: 157 0 317 0 0 0 0 0 IR-IO-APIC-fasteoi > 30: 4437 6102626 0 0 0 0 0 0 IR-IO-APIC-fasteoi 3w-9xxx > 48: 0 0 0 0 0 0 0 0 DMAR_MSI-edge dmar0 > 55: 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth0 > 56: 28 0 4148662 0 12 22 70 0 IR-PCI-MSI-edge eth0-TxRx-0 > 57: 29 0 0 2495606 0 0 0 0 IR-PCI-MSI-edge eth0-TxRx-1 > 58: 21 2704034 0 0 13 10 0 0 IR-PCI-MSI-edge eth0-TxRx-2 > 59: 26 0 0 0 0 0 0 1838420 IR-PCI-MSI-edge eth0-TxRx-3 > 60: 51 0 0 0 0 0 8249009 0 IR-PCI-MSI-edge eth0-TxRx-4 > 61: 1531450 0 0 0 10 0 0 0 IR-PCI-MSI-edge eth0-TxRx-5 > 62: 44 0 0 0 0 2176663 0 0 IR-PCI-MSI-edge eth0-TxRx-6 > 63: 24 0 0 0 1359843 0 0 0 IR-PCI-MSI-edge eth0-TxRx-7 > 91: 3 0 0 0 0 0 0 0 IR-PCI-MSI-edge ioat-msix > 92: 3 0 0 0 0 0 0 0 IR-PCI-MSI-edge ioat-msix > 93: 3 0 0 0 0 0 0 0 IR-PCI-MSI-edge ioat-msix > 94: 3 0 0 0 0 0 0 0 IR-PCI-MSI-edge ioat-msix > 95: 3 0 0 0 0 0 0 0 IR-PCI-MSI-edge ioat-msix > 96: 3 0 0 0 0 0 0 0 IR-PCI-MSI-edge ioat-msix > 97: 3 0 0 0 0 0 0 0 IR-PCI-MSI-edge ioat-msix > 98: 3 0 0 0 0 0 0 0 IR-PCI-MSI-edge ioat-msix > NMI: 0 0 0 0 0 0 0 0 Non-maskable interrupts > LOC: 550286961 678566029 748548019 733777570 517827192 430331367 268714238 527520322 Local timer interrupts > SPU: 0 0 0 0 0 0 0 0 Spurious interrupts > PMI: 0 0 0 0 0 0 0 0 Performance monitoring interrupts > PND: 0 0 0 0 0 0 0 0 Performance pending work > RES: 73223541 59311048 49506524 42871500 37975243 32106528 31106285 27747552 Rescheduling interrupts > CAL: 2206175 1509174 2056330 1638734 1690520 1739439 1196679 985504 Function call interrupts > TLB: 3277203 2666047 3158856 2614034 2243049 2215414 1477134 1538333 TLB shootdowns > TRM: 0 0 0 0 0 0 0 0 Thermal event interrupts > THR: 0 0 0 0 0 0 0 0 Threshold APIC interrupts > MCE: 0 0 0 0 0 0 0 0 Machine check exceptions > MCP: 2591 2591 2591 2591 2591 2591 2591 2591 Machine check polls > ERR: 7 > MIS: 0 > > But I do not see the Adaptec card (yes with lspci): > > 04:04.0 SCSI storage controller: Adaptec ASC-29320ALP U320 (rev ff) We are coming closer... With 'lspci -v -s04:04.0' you will see the IRQ your Adaptec controller is assigned to. http://www.linux.org/docs/ldp/howto/Plug-and-Play-HOWTO-7.html gives more information about interrupts in general. You may check your BIOS for means to assign interrupts to certain slots. Moving either your SCSI controller or the other conflicting card to another slot might help. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html