From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Lieven Subject: win7 bad i/o performance, high insn_emulation and exists Date: Mon, 20 Feb 2012 19:17:55 +0100 Message-ID: <4F428E53.2010602@dlh.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit To: qemu-devel@nongnu.org, kvm@vger.kernel.org Return-path: Received: from ssl.dlh.net ([91.198.192.8]:48922 "EHLO ssl.dlh.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752186Ab2BTSR5 (ORCPT ); Mon, 20 Feb 2012 13:17:57 -0500 Sender: kvm-owner@vger.kernel.org List-ID: Hi, I came a across an issue with a Windows 7 (32-bit) as well as with a Windows 2008 R2 (64-bit) guest. If I transfer a file from the VM via CIFS or FTP to a remote machine, i get very poor read performance (around 13MB/s). The VM peaks at 100% cpu and I see a lot of insn_emulations and all kinds of exists in kvm_stat efer_reload 0 0 exits 2260976 79620 fpu_reload 6197 11 halt_exits 114734 5011 halt_wakeup 111195 4876 host_state_reload 1499659 60962 hypercalls 0 0 insn_emulation 1577325 58488 insn_emulation_fail 0 0 invlpg 0 0 io_exits 943949 40249 irq_exits 108679 5434 irq_injections 236545 10788 irq_window 7606 246 largepages 672 5 mmio_exits 460020 16082 mmu_cache_miss 119 0 mmu_flooded 0 0 mmu_pde_zapped 0 0 mmu_pte_updated 0 0 mmu_pte_write 13474 9 mmu_recycled 0 0 mmu_shadow_zapped 141 0 mmu_unsync 0 0 nmi_injections 0 0 nmi_window 0 0 pf_fixed 22803 35 pf_guest 0 0 remote_tlb_flush 239 2 request_irq 0 0 signal_exits 0 0 tlb_flush 20933 0 If I run the same VM with a Ubuntu 10.04.4 guest I get around 60MB/s throughput. The kvm_stats look a lot more sane. efer_reload 0 0 exits 6132004 17931 fpu_reload 19863 3 halt_exits 264961 3083 halt_wakeup 236468 2959 host_state_reload 1104468 3104 hypercalls 0 0 insn_emulation 1417443 7518 insn_emulation_fail 0 0 invlpg 0 0 io_exits 869380 2795 irq_exits 253501 2362 irq_injections 616967 6804 irq_window 201186 2161 largepages 1019 0 mmio_exits 205268 0 mmu_cache_miss 192 0 mmu_flooded 0 0 mmu_pde_zapped 0 0 mmu_pte_updated 0 0 mmu_pte_write 7440546 0 mmu_recycled 0 0 mmu_shadow_zapped 259 0 mmu_unsync 0 0 nmi_injections 0 0 nmi_window 0 0 pf_fixed 38529 30 pf_guest 0 0 remote_tlb_flush 761 1 request_irq 0 0 signal_exits 0 0 tlb_flush 0 0 I use virtio-net (with vhost-net) and virtio-blk. I tried disabling hpet (which basically illiminated the mmio_exits, but does not increase performance) and also commit (39a7a362e16bb27e98738d63f24d1ab5811e26a8 ) - no improvement. My commandline: /usr/bin/qemu-kvm-1.0 -netdev type=tap,id=guest8,script=no,downscript=no,ifname=tap0,vhost=on -device virtio-net-pci,netdev=guest8,mac=52:54:00:ff:00:d3 -drive format=host_device,file=/dev/mapper/iqn.2001-05.com.equallogic:0-8a0906-eeef4e007-a8a9f3818674f2fc-lieven-windows7-vc-r80788,if=virtio,cache=none,aio=native -m 2048 -smp 2 -monitor tcp:0:4001,server,nowait -vnc :1 -name lieven-win7-vc -boot order=dc,menu=off -k de -pidfile /var/run/qemu/vm-187.pid -mem-path /hugepages -mem-prealloc -cpu host -rtc base=localtime -vga std -usb -usbdevice tablet -no-hpet What further information is needed to debug this further? Thanks, Peter From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:55114) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RzXoF-0000DE-Mb for qemu-devel@nongnu.org; Mon, 20 Feb 2012 13:18:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RzXoE-0000gP-78 for qemu-devel@nongnu.org; Mon, 20 Feb 2012 13:17:59 -0500 Received: from ssl.dlh.net ([91.198.192.8]:47356) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RzXoD-0000gK-PI for qemu-devel@nongnu.org; Mon, 20 Feb 2012 13:17:58 -0500 Message-ID: <4F428E53.2010602@dlh.net> Date: Mon, 20 Feb 2012 19:17:55 +0100 From: Peter Lieven MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] win7 bad i/o performance, high insn_emulation and exists List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, kvm@vger.kernel.org Hi, I came a across an issue with a Windows 7 (32-bit) as well as with a Windows 2008 R2 (64-bit) guest. If I transfer a file from the VM via CIFS or FTP to a remote machine, i get very poor read performance (around 13MB/s). The VM peaks at 100% cpu and I see a lot of insn_emulations and all kinds of exists in kvm_stat efer_reload 0 0 exits 2260976 79620 fpu_reload 6197 11 halt_exits 114734 5011 halt_wakeup 111195 4876 host_state_reload 1499659 60962 hypercalls 0 0 insn_emulation 1577325 58488 insn_emulation_fail 0 0 invlpg 0 0 io_exits 943949 40249 irq_exits 108679 5434 irq_injections 236545 10788 irq_window 7606 246 largepages 672 5 mmio_exits 460020 16082 mmu_cache_miss 119 0 mmu_flooded 0 0 mmu_pde_zapped 0 0 mmu_pte_updated 0 0 mmu_pte_write 13474 9 mmu_recycled 0 0 mmu_shadow_zapped 141 0 mmu_unsync 0 0 nmi_injections 0 0 nmi_window 0 0 pf_fixed 22803 35 pf_guest 0 0 remote_tlb_flush 239 2 request_irq 0 0 signal_exits 0 0 tlb_flush 20933 0 If I run the same VM with a Ubuntu 10.04.4 guest I get around 60MB/s throughput. The kvm_stats look a lot more sane. efer_reload 0 0 exits 6132004 17931 fpu_reload 19863 3 halt_exits 264961 3083 halt_wakeup 236468 2959 host_state_reload 1104468 3104 hypercalls 0 0 insn_emulation 1417443 7518 insn_emulation_fail 0 0 invlpg 0 0 io_exits 869380 2795 irq_exits 253501 2362 irq_injections 616967 6804 irq_window 201186 2161 largepages 1019 0 mmio_exits 205268 0 mmu_cache_miss 192 0 mmu_flooded 0 0 mmu_pde_zapped 0 0 mmu_pte_updated 0 0 mmu_pte_write 7440546 0 mmu_recycled 0 0 mmu_shadow_zapped 259 0 mmu_unsync 0 0 nmi_injections 0 0 nmi_window 0 0 pf_fixed 38529 30 pf_guest 0 0 remote_tlb_flush 761 1 request_irq 0 0 signal_exits 0 0 tlb_flush 0 0 I use virtio-net (with vhost-net) and virtio-blk. I tried disabling hpet (which basically illiminated the mmio_exits, but does not increase performance) and also commit (39a7a362e16bb27e98738d63f24d1ab5811e26a8 ) - no improvement. My commandline: /usr/bin/qemu-kvm-1.0 -netdev type=tap,id=guest8,script=no,downscript=no,ifname=tap0,vhost=on -device virtio-net-pci,netdev=guest8,mac=52:54:00:ff:00:d3 -drive format=host_device,file=/dev/mapper/iqn.2001-05.com.equallogic:0-8a0906-eeef4e007-a8a9f3818674f2fc-lieven-windows7-vc-r80788,if=virtio,cache=none,aio=native -m 2048 -smp 2 -monitor tcp:0:4001,server,nowait -vnc :1 -name lieven-win7-vc -boot order=dc,menu=off -k de -pidfile /var/run/qemu/vm-187.pid -mem-path /hugepages -mem-prealloc -cpu host -rtc base=localtime -vga std -usb -usbdevice tablet -no-hpet What further information is needed to debug this further? Thanks, Peter