[vfio-users] Slow performance on VM win7 install

Mark kram321 at gmail.com
Tue Apr 5 02:26:51 UTC 2016


Hello, I've had this problem consistently in both ubuntu server and arch
(fresh installs this week).  When booting a brand new VM and the win7 iso
attached to cdrom, I am getting extremely poor performance.  The first
'Windows is loading files...' screen takes about 3 full seconds to fill the
progress bar, then starts the bar over and loads VERY slowly.  iotop shows
the qemu process moving at 1100-1300K/s.

Prior to this week, windows installs would load through the second progress
bar part in a matter of seconds. It is now taking almost 4 minutes.  I
wanted to see if this was a windows iso specific issue (I highly doubt it)
and loaded and arch iso.  Again, on choosing to load arch install
environment iotop reported no higher than 1133K/s, averaging about 1100K/s
during the loading. Once in the install shell, I was able to issue a quick
speed test (dd if=/dev/cdrom of=/dev/zero bs=1M count=1024) which resulted
in about 128M/s.

In qemu monitor, 'info kvm' reports kvm enabled.

I've been searching for a solution and my google fu has failed me.  Please
help!

QEMU emulator version 2.3.0 (Debian 1:2.3+dfsg-5ubuntu9.2)
virt-manager version 1.3.2

VM xml dump:
<domain type='kvm'>
  <name>generic</name>
  <uuid>0cbed839-7320-4bc7-94f8-53b07f7097b2</uuid>
  <memory unit='KiB'>1048576</memory>
  <currentMemory unit='KiB'>1048576</currentMemory>
  <vcpu placement='static'>3</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-vivid'>hvm</type>
    <loader readonly='yes'
type='pflash'>/usr/share/ovmf/OVMF_CODE-pure-efi.fd</loader>
    <nvram
template='/stor/VM/vars.fd'>/var/lib/libvirt/qemu/nvram/generic_VARS.fd</nvram>
    <boot dev='cdrom'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <kvm>
      <hidden state='on'/>
    </kvm>
    <vmport state='off'/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>Haswell</model>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
    <timer name='hypervclock' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/bin/kvm-spice</emulator>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/stor/Downloads/archlinux-2016.03.01-dual.iso'/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01'
function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03'
function='0x0'/>
    </controller>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='spice' autoport='yes'>
      <image compression='off'/>
    </graphics>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02'
function='0x0'/>
    </video>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05'
function='0x0'/>
    </memballoon>
  </devices>
</domain>

~/.cache/virt-manager/virt-manager.log:
[Mon, 04 Apr 2016 19:10:59 virt-manager 3975] DEBUG (choosecd:64) Closing
media chooser
[Mon, 04 Apr 2016 19:10:59 virt-manager 3975] DEBUG (connection:754) domain
lifecycle event: domain=generic event=0 reason=1
[Mon, 04 Apr 2016 19:11:01 virt-manager 3975] DEBUG (engine:1157) Starting
vm 'generic'
[Mon, 04 Apr 2016 19:11:01 virt-manager 3975] DEBUG (connection:754) domain
lifecycle event: domain=generic event=4 reason=0
[Mon, 04 Apr 2016 19:11:01 virt-manager 3975] DEBUG (connection:754) domain
lifecycle event: domain=generic event=2 reason=0
[Mon, 04 Apr 2016 19:11:01 virt-manager 3975] DEBUG (console:667) Starting
connect process for proto=spice trans= connhost=127.0.0.1 connuser=
connport= gaddr=127.0.0.1 gport=5900 gtlsport=None gsocket=None
[Mon, 04 Apr 2016 19:11:01 virt-manager 3975] DEBUG (console:790) Viewer
connected
[Mon, 04 Apr 2016 19:18:32 virt-manager 3975] DEBUG (engine:1127)
Destroying vm 'generic'
[Mon, 04 Apr 2016 19:18:32 virt-manager 3975] DEBUG (console:771) Viewer
disconnected
[Mon, 04 Apr 2016 19:18:32 virt-manager 3975] DEBUG (connection:754) domain
lifecycle event: domain=generic event=5 reason=1

/var/log/libvirt/qemu/generic.log:
2016-04-05 02:11:01.496+0000: starting up libvirt version: 1.2.16, package:
1.2.16-2ubuntu11.15.10.3, qemu version: 2.3.0 (Debian 1:2.3+dfsg-5ubuntu9.2)
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
QEMU_AUDIO_DRV=spice /usr/bin/kvm-spice -name generic -S -machine
pc-i440fx-vivid,accel=kvm,usb=off,vmport=off -cpu Haswell,kvm=off -drive
file=/usr/share/ovmf/OVMF_CODE-pure-efi.fd,if=pflash,format=raw,unit=0,readonly=on
-drive
file=/var/lib/libvirt/qemu/nvram/generic_VARS.fd,if=pflash,format=raw,unit=1
-m 1024 -realtime mlock=off -smp 3,sockets=3,cores=1,threads=1 -uuid
0cbed839-7320-4bc7-94f8-53b07f7097b2 -no-user-config -nodefaults -chardev
socket,id=charmonitor,path=/var/lib/libvirt/qemu/generic.monitor,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control -rtc
base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet
-no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1
-boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x4.0x7
-device
ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x4
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x4.0x1
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x4.0x2
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 -drive
file=/stor/Downloads/archlinux-2016.03.01-dual.iso,if=none,id=drive-ide0-0-0,readonly=on,format=raw
-device
ide-cd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1
-chardev pty,id=charserial0 -device
isa-serial,chardev=charserial0,id=serial0 -chardev
spicevmc,id=charchannel0,name=vdagent -device
virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0
-spice
port=5900,addr=127.0.0.1,disable-ticketing,image-compression=off,seamless-migration=on
-device
qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16,bus=pci.0,addr=0x2
-chardev spicevmc,id=charredir0,name=usbredir -device
usb-redir,chardev=charredir0,id=redir0 -chardev
spicevmc,id=charredir1,name=usbredir -device
usb-redir,chardev=charredir1,id=redir1 -device
virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -msg timestamp=on
Domain id=16 is tainted: high-privileges
char device redirected to /dev/pts/3 (label charserial0)
main_channel_link: add main channel client
main_channel_handle_parsed: net test: latency 0.095000 ms, bitrate
30567164179 bps (29151.119403 Mbps)
inputs_connect: inputs channel client create
red_dispatcher_set_cursor_peer:
qemu: terminating on signal 15 from pid 644
2016-04-05 02:18:32.677+0000: shutting down
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20160404/d857ed51/attachment.htm>


More information about the vfio-users mailing list