[libvirt] pci device passthrough: Failed to assign irq

guan qin qinguan0619 at gmail.com
Wed May 4 13:25:17 UTC 2011


I also check the VM dmesg ,it shows that "Failed to initialize MSI
interrupts. Falling back to legacy interrupts."
more detail information please look into the picture attached.

best regards,
qinguan


2011/5/4 guan qin <qinguan0619 at gmail.com>

> Hi,
>
> I encounter a problem that the eth can't be up in the VM by using VT-d.
> I boot the VM using "virsh create vt_d.xml".
> The VM could recongize the NIC which was assigned .then I do in VM as
> follows:
> #cat /sys/class/net/eth0/operstate
> down
> #ifconfig eth0 up
> #cat /sys/class/net/eth0/operstate
> down
> #ficonfig eth 10.100.0.5
> #cat /sys/class/net/eth0/operstate
> down
>
>  I look into the qemu log file ,find that :
>
> LC_ALL=C PATH=/usr/local/sbin:/usr/
> local/bin:/sbin:/bin:/usr/sbin:/usr/bin HOME=/ QEMU_AUDIO_DRV=none
> /usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 512 -smp
> 1,sockets=1,cores=1,threads=1 -name vt_d_5 -uuid
> 05f608a3-f64f-2418-a90a-d611982c8336 -nodefaults -chardev
> socket,id=monitor,path=/var/lib/libvirt/qemu/vt_d_5.monitor,server,nowait
> -mon chardev=monitor,mode=readline -rtc base=utc -boot c -drive
> file=/home/qinguan/exp/kvm_vtd/ubuntu_1.img,if=none,id=drive-virtio-disk0,boot=on,format=raw
> -device
> virtio-blk-pci,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,id=virtio-disk0
> -usb -device usb-mouse,id=input0 -vnc 127.0.0.1:0 -vga cirrus -device
> pci-assign,host=00:19.0,id=hostdev0,bus=pci.0,addr=0x4 -device
> virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
> Failed to assign irq for "hostdev0": Operation not permitted
> Perhaps you are assigning a device that shares an IRQ with another device?
> Failed to assign irq for "hostdev0": Operation not permitted
> Perhaps you are assigning a device that shares an IRQ with another device?
> Failed to assign irq for "hostdev0": Operation not permitted
> Perhaps you are assigning a device that shares an IRQ with another device?
> Failed to assign irq for "hostdev0": Operation not permitted
> Perhaps you are assigning a device that shares an IRQ with another device?
> Failed to assign irq for "hostdev0": Operation not permitted
>
> maybe the VM can't access to the network because of Failed  to assign irg
> for "hostdev0"?
>
> in kern.log :
> May  1 12:40:07 Optiplex-780 kernel: [ 3172.784803] e1000e 0000:00:19.0:
> PCI INT A disabled
> May  1 12:40:07 Optiplex-780 kernel: [ 3172.784863] pci-stub 0000:00:19.0:
> claimed by stub
> May  1 12:40:07 Optiplex-780 kernel: [ 3173.103965] pci-stub 0000:00:19.0:
> PCI INT A -> GSI 21 (level, low) -> IRQ 21
> May  1 12:40:07 Optiplex-780 kernel: [ 3173.204030] pci-stub 0000:00:19.0:
> restoring config space at offset 0x6 (was 0x1, writing 0xece1)
> May  1 12:40:07 Optiplex-780 kernel: [ 3173.204035] pci-stub 0000:00:19.0:
> restoring config space at offset 0x5 (was 0x0, writing 0xf7ad9000)
> May  1 12:40:07 Optiplex-780 kernel: [ 3173.204039] pci-stub 0000:00:19.0:
> restoring config space at offset 0x4 (was 0x0, writing 0xf7ae0000)
> May  1 12:40:07 Optiplex-780 kernel: [ 3173.204045] pci-stub 0000:00:19.0:
> restoring config space at offset 0x1 (was 0x100000, writing 0x100103)
> May  1 12:40:07 Optiplex-780 kernel: [ 3173.435751] assign device 0:0:19.0
> May  1 12:44:24 Optiplex-780 kernel: [ 3430.568526] pci-stub 0000:00:19.0:
> restoring config space at offset 0x6 (was 0x1, writing 0xece1)
> May  1 12:44:24 Optiplex-780 kernel: [ 3430.568532] pci-stub 0000:00:19.0:
> restoring config space at offset 0x5 (was 0x0, writing 0xf7ad9000)
> May  1 12:44:24 Optiplex-780 kernel: [ 3430.568537] pci-stub 0000:00:19.0:
> restoring config space at offset 0x4 (was 0x0, writing 0xf7ae0000)
> May  1 12:44:24 Optiplex-780 kernel: [ 3430.568543] pci-stub 0000:00:19.0:
> restoring config space at offset 0x1 (was 0x100000, writing 0x100103)
> May  1 12:44:24 Optiplex-780 kernel: [ 3430.568561] pci-stub 0000:00:19.0:
> PCI INT A disabled
>
>
> root at Optiplex-780:/var/log/libvirt/qemu# cat /proc/interrupts
>            CPU0       CPU1       CPU2       CPU3
>   0:         97          1          2          1   IO-APIC-edge      timer
>   1:          2          0          0          0   IO-APIC-edge      i8042
>   7:          0          0          0          0   IO-APIC-edge
> parport0
>   8:          1          0          0          0   IO-APIC-edge      rtc0
>   9:          0          0          0          0   IO-APIC-fasteoi   acpi
>  12:          1          2          1          0   IO-APIC-edge      i8042
>  16:          0          0          0          0   IO-APIC-fasteoi
> uhci_hcd:usb2
>  17:       5822       1952       3614       2233   IO-APIC-fasteoi
> uhci_hcd:usb4, uhci_hcd:usb7
>  18:          0          0          0          0   IO-APIC-fasteoi
> uhci_hcd:usb8
>  22:          1          1          1          0   IO-APIC-fasteoi
> ehci_hcd:usb1, uhci_hcd:usb5
>  23:       1461       1299       1153        912   IO-APIC-fasteoi
> ehci_hcd:usb3, uhci_hcd:usb6
>  24:     268579          0          0          0  HPET_MSI-edge      hpet2
>  25:          0     286310          0          0  HPET_MSI-edge      hpet3
>  26:          0          0     210675          0  HPET_MSI-edge      hpet4
>  27:          0          0          0     256688  HPET_MSI-edge      hpet5
>  29:          1          0          0          0  DMAR_MSI-edge      dmar1
>  30:          0          0          0          0  DMAR_MSI-edge      dmar0
>  31:          0          0          0          0  DMAR_MSI-edge      dmar2
>  35:          0          0          0          1   PCI-MSI-edge      eth1
>  36:       1456        916       1323       1657   PCI-MSI-edge
> eth1-rx-0
>  37:       1031        772       1459        895   PCI-MSI-edge
> eth1-rx-1
>  38:        958        965        785        470   PCI-MSI-edge
> eth1-rx-2
>  39:       1319        557       1007        714   PCI-MSI-edge
> eth1-rx-3
>  40:        892        864        417       1134   PCI-MSI-edge
> eth1-tx-0
>  41:        414        749        998        606   PCI-MSI-edge
> eth1-tx-1
>  42:        307        921        375        332   PCI-MSI-edge
> eth1-tx-2
>  43:        966        693        396        502   PCI-MSI-edge
> eth1-tx-3
>  54:       7109       5755       5683       5609   PCI-MSI-edge      ahci
>  55:         74        105         73         84   PCI-MSI-edge
> hda_intel
>  56:       1446        927       1108        870   PCI-MSI-edge      i915
> NMI:          0          0          0          0   Non-maskable interrupts
> LOC:        740        725        703        677   Local timer interrupts
> SPU:          0          0          0          0   Spurious interrupts
> PMI:          0          0          0          0   Performance monitoring
> interrupts
> PND:          0          0          0          0   Performance pending work
> RES:        665        679        714        547   Rescheduling interrupts
> CAL:       5332        408       5619        539   Function call interrupts
> TLB:       1880       2843       1788       3202   TLB shootdowns
> TRM:          0          0          0          0   Thermal event interrupts
> THR:          0          0          0          0   Threshold APIC
> interrupts
> MCE:          0          0          0          0   Machine check exceptions
> MCP:          5          5          5          5   Machine check polls
> ERR:          3
> MIS:          0
> root at Optiplex-780:/var/log/libvirt/qemu#
>
> I search the similarly problems that sharing the irg  but never find a
> answer , and now I have no idea.
> How to solve the problem  ,can you help me ? thanks.
>
>
> best regards,
> qinguan
>
>
>
> vt_d.xml:
> <domain type='kvm'>
>     <name>test</name>
>     <description>just test using sriov!</description>
>     <os>
>         <type>hvm</type>
>         <boot dev='hd'/>
>     </os>
>     <memory>524288</memory>
>     <currentMemory>524288</
> currentMemory>
>     <on_poweroff>destroy</on_poweroff>
>     <on_reboot>restart</on_reboot>
>     <on_crash>restart</on_crash>
>
>     <features><pae/><acpi/><apic/></features>
>     <clock offset='utc'/>
>     <devices>
>         <input type='mouse' bus='usb'/>
>         <disk type='file' device='disk'>
>             <source file='/home/qinguan/exp/ubuntu_1.img'/>
>             <target dev='hda' bus='virtio'/>
>         </disk>
>         <emulator>/usr/bin/kvm</emulator>
>         <graphics type='vnc' port='-1'/>
>         <hostdev mode='subsystem' type='pci' managed='yes'>
>             <source>
>                 <address bus='0x0' slot='0x19' function='0x0'/>
>             </source>
>         </hostdev>
>     </devices>
> </domain>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20110504/d2e24bfa/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screenshot.png
Type: image/png
Size: 213089 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20110504/d2e24bfa/attachment-0001.png>


More information about the libvir-list mailing list