[Bug 1181777] [NEW] kvm: freeze a guest with a NIC PCI passthrough
AlexanderYT
1181777 at bugs.launchpad.net
Sun May 19 15:12:28 UTC 2013
Public bug reported:
After attach NIC to guest domain, this domain freeze and CPU load 100%
on host system.
# virsh start w
# top
top - 19:08:14 up 28 min, 1 user, load average: 1.00, 0.97, 0.75
Tasks: 277 total, 1 running, 276 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.2%us, 1.2%sy, 0.0%ni, 97.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 99035416k total, 2537044k used, 96498372k free, 84844k buffers
Swap: 0k total, 0k used, 0k free, 484432k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21168 libvirt- 20 0 837m 544m 6916 S 103 0.6 9:57.66 kvm
# cat /etc/libvirt/qemuw.xml
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh edit w
or other application using the libvirt API.
-->
<domain type='kvm'>
<name>w</name>
<uuid>640ff4d4-665a-5a73-9e85-aecd4e75f18f</uuid>
<memory>524288</memory>
<currentMemory>524288</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch='x86_64' machine='pc-1.0'>hvm</type>
<boot dev='cdrom'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<cpu match='exact'>
<model>Westmere</model>
<vendor>Intel</vendor>
<feature policy='require' name='tm2'/>
<feature policy='require' name='est'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='ds'/>
<feature policy='require' name='ss'/>
<feature policy='require' name='vme'/>
<feature policy='require' name='rdtscp'/>
<feature policy='require' name='ht'/>
<feature policy='require' name='dca'/>
<feature policy='require' name='pbe'/>
<feature policy='require' name='tm'/>
<feature policy='require' name='monitor'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='ds_cpl'/>
<feature policy='require' name='xtpr'/>
<feature policy='require' name='acpi'/>
<feature policy='require' name='x2apic'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/bin/kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='writeback'/>
<source file='/var/lib/libvirt/images/w.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/home/sanches/sysrescue33.iso'/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' unit='0'/>
</disk>
<controller type='ide' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<interface type='network'>
<mac address='52:54:00:08:ad:b9'/>
<source network='default'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>
</console>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='5932' autoport='no' listen='10.1.110.133' passwd='123'>
<listen type='address' address='10.1.110.133'/>
</graphics>
<video>
<model type='cirrus' vram='9216' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0x03' slot='0x00' function='0x1'/>
</source>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</hostdev>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</memballoon>
</devices>
</domain>
# strace
read(21, 0x7fffd9558200, 16) = -1 EAGAIN (Resource temporarily unavailable)
read(7, "\16\0\0\0\0\0\0\0\376\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0"..., 128) = 128
rt_sigaction(SIGALRM, NULL, {0x7f21895d1250, ~[KILL STOP RTMIN RT_1], SA_RESTORER, 0x7f2185fa7cb0}, 8) = 0
write(9, "\1\0\0\0\0\0\0\0", 8) = 8
read(7, 0x7fffd9558180, 128) = -1 EAGAIN (Resource temporarily unavailable)
timer_gettime(0x1, {it_interval={0, 0}, it_value={0, 0}}) = 0
timer_settime(0x1, 0, {it_interval={0, 0}, it_value={0, 8640000}}, NULL) = 0
futex(0x7f218a223460, FUTEX_WAKE_PRIVATE, 1) = 1
select(24, [7 8 11 15 21 22 23], [], [], {1, 0}) = 1 (in [8], left {0, 999998})
read(21, 0x7fffd9558200, 16) = -1 EAGAIN (Resource temporarily unavailable)
read(8, "\1\0\0\0\0\0\0\0", 512) = 8
futex(0x7f218a223460, FUTEX_WAKE_PRIVATE, 1) = 1
select(24, [7 8 11 15 21 22 23], [], [], {1, 0}) = 1 (in [7], left {0, 991512})
read(21, 0x7fffd9558200, 16) = -1 EAGAIN (Resource temporarily unavailable)
read(7, "\16\0\0\0\0\0\0\0\376\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0"..., 128) = 128
rt_sigaction(SIGALRM, NULL, {0x7f21895d1250, ~[KILL STOP RTMIN RT_1], SA_RESTORER, 0x7f2185fa7cb0}, 8) = 0
write(9, "\1\0\0\0\0\0\0\0", 8) = 8
read(7, 0x7fffd9558180, 128) = -1 EAGAIN (Resource temporarily unavailable)
timer_gettime(0x1, {it_interval={0, 0}, it_value={0, 0}}) = 0
timer_settime(0x1, 0, {it_interval={0, 0}, it_value={0, 250000}}, NULL) = 0
timer_gettime(0x1, {it_interval={0, 0}, it_value={0, 228319}}) = 0
futex(0x7f218a223460, FUTEX_WAKE_PRIVATE, 1) = 1
select(24, [7 8 11 15 21 22 23], [], [], {1, 0}) = 1 (in [8], left {0, 999998})
read(21, 0x7fffd9558200, 16) = -1 EAGAIN (Resource temporarily unavailable)
read(8, "\1\0\0\0\0\0\0\0", 512) = 8
futex(0x7f218a223460, FUTEX_WAKE_PRIVATE, 1) = 1
select(24, [7 8 11 15 21 22 23], [], [], {1, 0}) = 1 (in [7], left {0, 999936})
read(21, 0x7fffd9558200, 16) = -1 EAGAIN (Resource temporarily unavailable)
read(7, "\16\0\0\0\0\0\0\0\376\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0"..., 128) = 128
rt_sigaction(SIGALRM, NULL, {0x7f21895d1250, ~[KILL STOP RTMIN RT_1], SA_RESTORER, 0x7f2185fa7cb0}, 8) = 0
write(9, "\1\0\0\0\0\0\0\0", 8) = 8
read(7, 0x7fffd9558180, 128) = -1 EAGAIN (Resource temporarily unavailable)
timer_gettime(0x1, {it_interval={0, 0}, it_value={0, 0}}) = 0
timer_settime(0x1, 0, {it_interval={0, 0}, it_value={0, 763493546}}, NULL) = 0
futex(0x7f218a223460, FUTEX_WAKE_PRIVATE, 1) = 1
select(24, [7 8 11 15 21 22 23], [], [], {1, 0}) = 1 (in [8], left {0, 999998})
read(21, 0x7fffd9558200, 16) = -1 EAGAIN (Resource temporarily unavailable)
read(8, "\1\0\0\0\0\0\0\0", 512) = 8
futex(0x7f218a223460, FUTEX_WAKE_PRIVATE, 1) = 1
select(24, [7 8 11 15 21 22 23], [], [], {1, 0}) = 1 (in [7], left {0, 236654})
read(21, 0x7fffd9558200, 16) = -1 EAGAIN (Resource temporarily unavailable)
read(7, "\16\0\0\0\0\0\0\0\376\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0"..., 128) = 128
rt_sigaction(SIGALRM, NULL, {0x7f21895d1250, ~[KILL STOP RTMIN RT_1], SA_RESTORER, 0x7f2185fa7cb0}, 8) = 0
write(9, "\1\0\0\0\0\0\0\0", 8) = 8
read(7, 0x7fffd9558180, 128) = -1 EAGAIN (Resource temporarily unavailable)
timer_gettime(0x1, {it_interval={0, 0}, it_value={0, 0}}) = 0
timer_settime(0x1, 0, {it_interval={0, 0}, it_value={0, 250000}}, NULL) = 0
timer_gettime(0x1, {it_interval={0, 0}, it_value={0, 225636}}) = 0
futex(0x7f218a223460, FUTEX_WAKE_PRIVATE, 1) = 1
select(24, [4 7 8 11 15 21 22 23], [], [], {1, 0}) = 2 (in [4 8], left {0, 999996})
read(21, 0x7fffd9558200, 16) = -1 EAGAIN (Resource temporarily unavailable)
read(4, 0x7fffd9557210, 1) = -1 EIO (Input/output error)
timer_gettime(0x1, {it_interval={0, 0}, it_value={0, 87734}}) = 0
read(8, "\1\0\0\0\0\0\0\0", 512) = 8
futex(0x7f218a223460, FUTEX_WAKE_PRIVATE, 1) = 1
select(24, [7 8 11 15 21 22 23], [], [], {1, 0}) = 1 (in [7], left {0, 999986})
read(21, 0x7fffd9558200, 16) = -1 EAGAIN (Resource temporarily unavailable)
read(7, "\16\0\0\0\0\0\0\0\376\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0"..., 128) = 128
rt_sigaction(SIGALRM, NULL, {0x7f21895d1250, ~[KILL STOP RTMIN RT_1], SA_RESTORER, 0x7f2185fa7cb0}, 8) = 0
write(9, "\1\0\0\0\0\0\0\0", 8) = 8
read(7, 0x7fffd9558180, 128) = -1 EAGAIN (Resource temporarily unavailable)
timer_gettime(0x1, {it_interval={0, 0}, it_value={0, 0}}) = 0
timer_settime(0x1, 0, {it_interval={0, 0}, it_value={0, 224423000}}, NULL) = 0
futex(0x7f218a223460, FUTEX_WAKE_PRIVATE, 1) = 1
select(24, [7 8 11 15 21 22 23], [], [], {1, 0}) = 1 (in [8], left {0, 999998})
read(21, 0x7fffd9558200, 16) = -1 EAGAIN (Resource temporarily unavailable)
read(8, "\1\0\0\0\0\0\0\0", 512) = 8
futex(0x7f218a223460, FUTEX_WAKE_PRIVATE, 1) = 1
select(24, [7 8 11 15 21 22 23], [], [], {1, 0} <unfinished ...>
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: qemu-kvm 1.0+noroms-0ubuntu14.8
ProcVersionSignature: Ubuntu 3.2.0-43.68-generic 3.2.42
Uname: Linux 3.2.0-43-generic x86_64
ApportVersion: 2.0.1-0ubuntu17.2
Architecture: amd64
Date: Sun May 19 19:02:24 2013
ExecutablePath: /usr/bin/qemu-system-x86_64
MachineType: HP ProLiant DL380p Gen8
MarkForUpload: True
ProcEnviron: PATH=(custom, no user)
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-43-generic root=/dev/mapper/CtrlSlot0--raid5-root ro console=tty0 console=ttyS1,115200 nomodeset intel_iommu=on
SourcePackage: qemu-kvm
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 02/25/2012
dmi.bios.vendor: HP
dmi.bios.version: P70
dmi.chassis.type: 23
dmi.chassis.vendor: HP
dmi.modalias: dmi:bvnHP:bvrP70:bd02/25/2012:svnHP:pnProLiantDL380pGen8:pvr:cvnHP:ct23:cvr:
dmi.product.name: ProLiant DL380p Gen8
dmi.sys.vendor: HP
** Affects: qemu-kvm (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug precise qemu-kvm
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to qemu-kvm in Ubuntu.
https://bugs.launchpad.net/bugs/1181777
Title:
kvm: freeze a guest with a NIC PCI passthrough
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qemu-kvm/+bug/1181777/+subscriptions
More information about the Ubuntu-server-bugs
mailing list