Hi,
I am seeing high workload spikes of approx. 15 when I do IO inside a KVM
guest, for instance
dd if=/dev/zero bs=1G count=1 of=hog
When I execute a similar command on the host to write a file on the same
physical disk, the workload only goes to about 3.
I am using virtio on the guest with cache mode none. Also, I am using
the noop IO scheduler on the guest and the deadline IO scheduler on the
host.
The guest is allocated a logical volume from the host.
When I execute the dd command on the guest, it finishes almost
instantaneously but when I execute it on the host I have to wait for
approx 10 seconds. Specifically,
on the guest I see a transfer speed of approx. 600 MB/s and on the host
I get 75.9MB/s. The figure for the host is most reliable as this is
close to what the hard disks can handle (WD enterprise class SATA hard
disks).
What appears to be happening is that somehow it forwards all IO from the
guest immediately to the host, just as if write back caching was used.
When I look at the output of 'virsh dumpxm <vmname>' I get this as part
of the output which indicates that cache="none" is actually used
<driver name='qemu' type='raw' cache='none'/>
<source dev='/dev/bootdisks/sparrow'/>
<target dev='sda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
The host is an opensuse 11.3 system (Linux falcon 2.6.34.10-0.6-default
#1 SMP 2011-12-13 18:27:38 +0100 x86_64 x86_64 x86_64 GNU/Linux).
The kvm version is
falcon:~ # rpm -qa | grep kvm
kvm-0.12.5-1.8.1.x86_64
Is this some known issue in this version of KVM and should I simply
upgrade (or replace the host with a centos 6.2 system). Or is there a
simple configuration that can fix this?
Cheers
Erik
--
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