Hi all,
I have KVM running successfully on opensuse 11.3 (64bit) with a opensuse
11.1 guest. I am using hardware virtualization and want to experiment
with PCI passthrough with the (wired) network card on my laptop because
I want to repeat similar steps later on a server (with a TV card). The
main specs of the laptop are Intel Core I7 Q720 1.6GHz with 8MB of memory.
I have followed the instructions on
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization/chap-Virtualization-PCI_passthrough.html.
Everything is successful until I start the domain.
In that case I get the following messages in the logs:
Nov 13 00:23:45 pelican kernel: [ 3302.793043] pci-stub 0000:04:00.0:
claimed by stub
Nov 13 00:23:45 pelican kernel: [ 3302.793197] pci-stub 0000:04:00.0:
claimed by stub
Nov 13 00:23:45 pelican kernel: [ 3302.931578]
kvm_vm_ioctl_deassign_device: device hasn't been assigned before, so
cannot be deassigned
Nov 13 00:23:48 pelican libvirtd: 00:23:48.136: error :
qemuMonitorOpenUnix:269 : monitor socket did not show up.: Connection
refused
Nov 13 00:23:48 pelican libvirtd: 00:23:48.136: error :
qemuConnectMonitor:1192 : Failed to connect monitor for other
To be absolutely certa CPU0 CPU1 CPU2
CPU3 CPU4 CPU5 CPU6 CPU7
0: 371 0 0 203026 0
0 0 0 IO-APIC-edge timer
1: 12870 0 0 39 173
0 0 0 IO-APIC-edge i8042
7: 259 0 0 0 0
0 0 0 IO-APIC-edge
8: 0 0 0 4 0
0 0 0 IO-APIC-edge rtc0
9: 2823 0 0 141 0
0 0 0 IO-APIC-fasteoi acpi
12: 15 0 0 155 0
0 0 0 IO-APIC-edge i8042
16: 0 298817 0 0 0
0 634 0 IO-APIC-fasteoi ehci_hcd:usb1, ohci1394,
hda_intel, nvidia
17: 0 0 0 0 0
0 0 0 IO-APIC-fasteoi mmc0
19: 0 0 0 0 0
0 0 0 IO-APIC-fasteoi mmc1
23: 0 0 99 0 0
95116 0 0 IO-APIC-fasteoi ehci_hcd:usb2
24: 687633 0 0 0 0
0 0 0 HPET_MSI-edge hpet2
25: 0 637204 0 0 0
0 0 0 HPET_MSI-edge hpet3
26: 0 0 199161 0 0
0 0 0 HPET_MSI-edge hpet4
27: 0 0 0 134606 0
0 0 0 HPET_MSI-edge hpet5
28: 0 0 0 0 237717
0 0 0 HPET_MSI-edge hpet6
34: 58784 0 0 7780 0
0 0 0 PCI-MSI-edge ahci
36: 939 0 0 0 138686
0 0 0 PCI-MSI-edge iwlagn
37: 0 0 0 0 0
210 0 0 PCI-MSI-edge hda_intel
NMI: 0 0 0 0 0
0 0 0 Non-maskable interrupts
LOC: 1535 1438 1347 1257 1168
396803 120435 79080 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: 4164 4332 2050 1413 3244
2790 1630 1200 Rescheduling interrupts
CAL: 1394 1395 1279 1195 1431
1430 1429 575 Function call interrupts
TLB: 5007 2623 3751 3045 5617
3902 4486 4115 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: 14 14 14 14 14
14 14 14 Machine check polls
ERR: 259
MIS: 0
in I also removed the driver for the network card using 'rmmod sky2'.
I have also specified the intel_iommu=on option in the command line (cat
/proc/cmdline gives: root=/dev/system/root resume=/dev/system/swap
splash=silent quiet nomodeset intel_iommu=on vga=0x314). Also, the
output of 'dmesg | grep -i iommu' gives:
[ 0.000000] Command line: root=/dev/system/root
resume=/dev/system/swap splash=silent quiet nomodeset intel_iommu=on
vga=0x314
[ 0.000000] Kernel command line: root=/dev/system/root
resume=/dev/system/swap splash=silent quiet nomodeset intel_iommu=on
vga=0x314
[ 0.000000] Intel-IOMMU: enabled
So it seems that IOMMU is available.
I read somewhere that there could be a problem in the interrupts and
some users had success by disabling them but I really don't know how to
debug this.
The output of 'cat /proc/interrupts' is as follows:
CPU0 CPU1 CPU2 CPU3 CPU4
CPU5 CPU6 CPU7
0: 371 0 0 203026 0
0 0 0 IO-APIC-edge timer
1: 12870 0 0 39 173
0 0 0 IO-APIC-edge i8042
7: 259 0 0 0 0
0 0 0 IO-APIC-edge
8: 0 0 0 4 0
0 0 0 IO-APIC-edge rtc0
9: 2823 0 0 141 0
0 0 0 IO-APIC-fasteoi acpi
12: 15 0 0 155 0
0 0 0 IO-APIC-edge i8042
16: 0 298817 0 0 0
0 634 0 IO-APIC-fasteoi ehci_hcd:usb1, ohci1394,
hda_intel, nvidia
17: 0 0 0 0 0
0 0 0 IO-APIC-fasteoi mmc0
19: 0 0 0 0 0
0 0 0 IO-APIC-fasteoi mmc1
23: 0 0 99 0 0
95116 0 0 IO-APIC-fasteoi ehci_hcd:usb2
24: 687633 0 0 0 0
0 0 0 HPET_MSI-edge hpet2
25: 0 637204 0 0 0
0 0 0 HPET_MSI-edge hpet3
26: 0 0 199161 0 0
0 0 0 HPET_MSI-edge hpet4
27: 0 0 0 134606 0
0 0 0 HPET_MSI-edge hpet5
28: 0 0 0 0 237717
0 0 0 HPET_MSI-edge hpet6
34: 58784 0 0 7780 0
0 0 0 PCI-MSI-edge ahci
36: 939 0 0 0 138686
0 0 0 PCI-MSI-edge iwlagn
37: 0 0 0 0 0
210 0 0 PCI-MSI-edge hda_intel
NMI: 0 0 0 0 0
0 0 0 Non-maskable interrupts
LOC: 1535 1438 1347 1257 1168
396803 120435 79080 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: 4164 4332 2050 1413 3244
2790 1630 1200 Rescheduling interrupts
CAL: 1394 1395 1279 1195 1431
1430 1429 575 Function call interrupts
TLB: 5007 2623 3751 3045 5617
3902 4486 4115 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: 14 14 14 14 14
14 14 14 Machine check polls
ERR: 259
MIS: 0
Do you have any suggestions on how to solve/debug this problem?
Cheers
Erik
--
Nonsense and other useful things: http://brakkee.org
MountainHoppers: http://mountainhoppers.nl
Track Detective: http://trackdetective.com
Twitter: http://twitter.com/ErikBrakkee
--
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