From mboxrd@z Thu Jan 1 00:00:00 1970 From: Erik Jacobson Subject: Re: slow guest performance with build load, looking for ideas Date: Thu, 9 Jul 2009 13:01:10 -0500 Message-ID: <20090709180110.GB14935@sgi.com> References: <20090618230744.GA19307@sgi.com> <4A477B8C.2010502@redhat.com> <20090628190500.GA7347@sgi.com> <4A47E06A.7040700@redhat.com> <20090701214128.GA1380@sgi.com> <4A4C4A28.1060105@redhat.com> <4A4C80AD.7010204@redhat.com> <1246635797.13604.7.camel@blaa> <20090709023633.GB29409@sgi.com> <4A55A0E1.1060501@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Erik Jacobson , Mark McLoughlin , kvm@vger.kernel.org, Jes Sorensen To: Avi Kivity Return-path: Received: from relay3.sgi.com ([192.48.156.57]:37651 "EHLO relay.sgi.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753303AbZGISBO (ORCPT ); Thu, 9 Jul 2009 14:01:14 -0400 Content-Disposition: inline In-Reply-To: <4A55A0E1.1060501@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: >> Timing with the rotational stuff set to 1... >> >> real 14m13.015s >> user 29m42.162s >> sys 8m37.416s > > (user + sys) / real = 2.7 > >> And finally, to confirm the numbers on the host with no guest running... >> The same disk/filesystem, now mounted on the host instead of the guest, gave >> this timing: >> >> real 6m13.398s >> user 26m56.061s >> sys 5m34.477s >> > > (user + sys) / real = 5.2 > > I got 6.something in a guest! > Please drop -usbdevice tablet and set the host I/O scheduler to > deadline. Add cache=none to the -drive options. yes, these changes make a difference. Before starting qemu-kvm, I did this to change the IO scheduler: BEFORE: # for f in /sys/block/sd*/queue/scheduler; do cat $f; done noop anticipatory deadline [cfq] noop anticipatory deadline [cfq] SET: # for f in /sys/block/sd*/queue/scheduler; do echo "deadline" > $f; done CONFIRM: # for f in /sys/block/sd*/queue/scheduler; do cat $f; done noop anticipatory [deadline] cfq noop anticipatory [deadline] cfq qemu command line. Note that usbtablet is off and cache=none is used in drive options: /usr/bin/qemu-kvm -M pc -m 4096 -smp 8 -name f11-test -uuid b7b4b7e4-9c07-22aa-0c95-d5c8a24176c5 -monitor pty -pidfile /var/run/libvirt/qemu//f11-test.pid -drive file=/var/lib/libvirt/images/f11-test.img,if=virtio,index=0,boot=on,cache=none -drive file=/dev/sdb,if=virtio,index=1,cache=none -drive file=/var/lib/libvirt/images/test.img,if=virtio,index=2,cache=none -net nic,macaddr=54:52:00:46:48:0e,model=virtio -net user -serial pty -parallel none -usb -vnc cct201:1 -soundhw es1370 -redir tcp:5555::22 # rotation enabled this way in the guest, once the guest was started: for f in /sys/block/vd*/queue/rotational; do echo 1 > $f; done Test runs after make clean... time (make -j12&& make -j12 modules) real 10m25.585s user 26m36.450s sys 8m14.776s 2nd trial (make clean followed by the same test again. real 9m21.626s user 26m42.144s sys 8m14.532s