Interestingly cache=none doesn't make much odds to the load.  I'm not
sure what the Debian disk clear is doing to it - see later;

So the combo's I've just tried are:

Performance options 'Cache mode: 'default' IO mode 'default'
/usr/bin/kvm -name debian -S -M pc-0.12 -cpu 
Nehalem,+rdtscp,+xtpr,+tm2,+est,+vmx,+ds_cpl,+monitor,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme
 -enable-kvm -m 2048 -smp 2,sockets=2,cores=1,threads=1 -uuid 
27c24103-2985-d338-158e-0aa151ed4f61 -no-user-config -nodefaults -chardev 
socket,id=charmonitor,path=/var/lib/libvirt/qemu/debian.monitor,server,nowait 
-mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown 
-boot order=cd,menu=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 
-drive file=/dev/main/debianvm,if=none,id=drive-virtio-disk0,format=raw -device 
virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0
 -drive 
file=/media/more/isos/debian-wheezy-DI-b1-amd64-netinst-2012-08-12.iso,if=none,id=drive-ide0-1-0,readonly=on,format=raw
 -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev 
tap,fd=21,id=hostnet0,vhost=on,vhostfd=22 -device 
virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:6f:c0:33,bus=pci.0,addr=0x3 
-chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 
-device usb-tablet,id=input0 -vnc 127.0.0.1:0 -vga cirrus -device 
virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6

  Load average 10+, ~6MB/s

----
Performance options 'Cache mode: 'None' IO mode 'default'
/usr/bin/kvm -name debian -S -M pc-0.12 -cpu 
Nehalem,+rdtscp,+xtpr,+tm2,+est,+vmx,+ds_cpl,+monitor,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme
 -enable-kvm -m 2048 -smp 2,sockets=2,cores=1,threads=1 -uuid 
27c24103-2985-d338-158e-0aa151ed4f61 -no-user-config -nodefaults -chardev 
socket,id=charmonitor,path=/var/lib/libvirt/qemu/debian.monitor,server,nowait 
-mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown 
-boot order=cd,menu=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 
-drive 
file=/dev/main/debianvm,if=none,id=drive-virtio-disk0,format=raw,cache=none 
-device 
virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0
 -drive 
file=/media/more/isos/debian-wheezy-DI-b1-amd64-netinst-2012-08-12.iso,if=none,id=drive-ide0-1-0,readonly=on,format=raw
 -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev 
tap,fd=21,id=hostnet0,vhost=on,vhostfd=22 -device 
virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:6f:c0:33,bus=pci.0,addr=0x3 
-chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 
-device usb-tablet,id=input0 -vnc 127.0.0.1:0 -vga cirrus -device 
virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6

  Load average ~7, 6MB/s during the erase disk operation

---
Performance options 'Cache mode: 'None' Io mode 'native'

usr/bin/kvm -name debian -S -M pc-0.12 -cpu
Nehalem,+rdtscp,+xtpr,+tm2,+est,+vmx,+ds_cpl,+monitor,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme
-enable-kvm -m 2048 -smp 2,sockets=2,cores=1,threads=1 -uuid
27c24103-2985-d338-158e-0aa151ed4f61 -no-user-config -nodefaults
-chardev
socket,id=charmonitor,path=/var/lib/libvirt/qemu/debian.monitor,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-
shutdown -boot order=cd,menu=on -device piix3-usb-
uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive
file=/dev/main/debianvm,if=none,id=drive-virtio-
disk0,format=raw,cache=none,aio=native -device virtio-blk-
pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0
-drive file=/media/more/isos/debian-wheezy-
DI-b1-amd64-netinst-2012-08-12.iso,if=none,id=drive-
ide0-1-0,readonly=on,format=raw -device ide-cd,bus=ide.1,unit=0,drive
=drive-ide0-1-0,id=ide0-1-0 -netdev
tap,fd=21,id=hostnet0,vhost=on,vhostfd=22 -device virtio-net-
pci,netdev=hostnet0,id=net0,mac=52:54:00:6f:c0:33,bus=pci.0,addr=0x3
-chardev pty,id=charserial0 -device isa-
serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -vnc
127.0.0.1:0 -vga cirrus -device virtio-balloon-
pci,id=balloon0,bus=pci.0,addr=0x6

Load average of ~1 - but still only 6MB/s!

So I tried a couple more tests; on the host I did:
dd if=/dev/zero of=/dev/main/debianvm bs=65536 conv=fsync on the host gives 
111MB/s
   21474836480 bytes (21 GB) copied, 194.302 s, 111 MB/s

so that's happy on the host.

Doing a ps during debian's disk wipe I see it's doing a :
/bin/blockdev-wipe -s 65536 /dev/mapper/crypt0


but if I try on the guest a 
dd if=/dev/zero of=/dev/vda5 bs=64k 
it gives >100MB/s

even dd'ing into the encrypted /dev/mapper/debian-root in the guest is
getting >70MB/s - and a host load average of over 50!

So whatever is going on, the speed seems to be related to blockdev-wipe, and 
not qemu.
The loadaverage however is qemus threaded IO mode;  I guess that's an artifact 
rather than a real problem.
The host isn't feeling slow - it's just the artifically high load average.

There is a bug 945001 that's about blockdev-wipe being slow; not obvious what 
he ran that on;
but the code for blockdev-wipe doesn't seem unusual; it's just a loop doing a 
write() and frobbing around
with progress indicators.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1035921

Title:
  odd IO/load behaviour running debian installer guest

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qemu-kvm/+bug/1035921/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to