Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 317409 - app-emulation/qemu-kvm-0.12.3-r1: write to image.qcow2 is very slow
Summary: app-emulation/qemu-kvm-0.12.3-r1: write to image.qcow2 is very slow
Status: VERIFIED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo QEMU Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-27 07:32 UTC by Alexandr Tiurin
Modified: 2010-12-09 17:05 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emerge-info,11.49 KB, text/plain)
2010-07-25 16:03 UTC, Alexandr Tiurin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandr Tiurin 2010-04-27 07:32:10 UTC
Write to image.qcow2 ~500-900KB/sec. Compared Intel based platform write speed up to ~10-12MB/sec. 
Kernel 2.6.32-r7

CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
CONFIG_KVM_APIC_ARCHITECTURE=y
CONFIG_KVM=m
CONFIG_KVM_AMD=m

lsmod | grep kvm
kvm_amd                30868  3 
kvm                   210056  1 kvm_amd



Reproducible: Always

Steps to Reproduce:
1.Run  QEMU_AUDIO_DRV=alsa kvm -m 240 \
	 -vga "std" \
	 -soundhw ac97 \
	 -no-acpi \
	 -smp 1  \
	 -drive file=/dev/hda7 \
	 -drive file=./hdd.img \
	 -localtime \
	 -name "centos" \
	 &
2. In guest system: copy data from /dev/hda7 to./hdd.img or install new system to /hdd.img from cd/dvd image.





Portage 2.1.8.3 (default/linux/amd64/10.0/desktop, gcc-4.3.4, glibc-2.10.1-r1, 2.6.32-gentoo-r7 x86_64)
=================================================================
System uname: Linux-2.6.32-gentoo-r7-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_5400+-with-gentoo-1.12.13
Timestamp of tree: Mon, 26 Apr 2010 05:15:03 +0000
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p37
dev-java/java-config: 2.1.10
dev-lang/python:     2.6.4-r1
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.9.6-r2, 1.10.3, 1.11.1
sys-devel/binutils:  2.18-r3
sys-devel/gcc:       3.4.6-r2, 4.3.4
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ABI="amd64"
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
ACCEPT_PROPERTIES="*"
ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci"
ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol"
APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias"
ARCH="amd64"
ASFLAGS_x86="--32"
AUTOCLEAN="yes"
CAMERAS="canon"
CBUILD="x86_64-pc-linux-gnu"
CCACHE_DIR="/var/tmp/ccache"
CCACHE_SIZE="1G"
CDEFINE_amd64="__x86_64__"
CDEFINE_x86="__i386__"
CFLAGS="-O2 -march=native -pipe"
CFLAGS_x86="-m32"
CHOST="x86_64-pc-linux-gnu"
CHOST_amd64="x86_64-pc-linux-gnu"
CHOST_x86="i686-pc-linux-gnu"
CLEAN_DELAY="5"
COLLISION_IGNORE="/lib/modules"
COLORTERM="gnome-terminal"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CVS_RSH="ssh"
CXXFLAGS="-O2 -march=native -pipe"
DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-1EMuTAAIpN,guid=70dfac66de5df2e690c103e34bd54894"
DEFAULT_ABI="amd64"
DESKTOP_SESSION="gnome"
DISPLAY=":0.0"
DISTDIR="/usr/portage/distfiles"
EDITOR="/bin/nano"
ELIBC="glibc"
EMERGE_DEFAULT_OPTS="-k  --verbose"
EMERGE_WARNING_DELAY="10"
EPREFIX=""
EROOT="/"
FEATURES="assume-digests buildpkg ccache distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}""
GCC_SPECS=""
GDK_USE_XFT="1"
GDMSESSION="gnome"
GDM_LANG="ru_RU.UTF-8"
GDM_XSERVER_LOCATION="local"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/"
GNOME_DESKTOP_SESSION_ID="this-is-deprecated"
GNOME_KEYRING_PID="16127"
GNOME_KEYRING_SOCKET="/tmp/keyring-jCyryM/socket"
GTK_RC_FILES="/etc/gtk/gtkrc:/home/sanches/.gtkrc-1.2-gnome2"
HISTCONTROL="ignoreboth"
HISTSIZE="5000"
HOME="/home/sanches"
INFOPATH="/usr/share/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/info:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.3.4/info"
INPUT_DEVICES="keyboard mouse evdev"
JAVAC="/etc/java-config-2/current-system-vm/bin/javac"
JAVA_HOME="/etc/java-config-2/current-system-vm"
JDK_HOME="/etc/java-config-2/current-system-vm"
KERNEL="linux"
LANG="ru_RU.UTF-8"
LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text"
LDFLAGS="-Wl,-O1"
LDFLAGS_x86="-m elf_i386"
LESS="-R -M --shift 5"
LESSOPEN="|lesspipe.sh %s"
LIBDIR_amd64="lib64"
LIBDIR_amd64_fbsd="lib64"
LIBDIR_ppc="lib32"
LIBDIR_ppc64="lib64"
LIBDIR_sparc32="lib32"
LIBDIR_sparc64="lib64"
LIBDIR_x86="lib32"
LIBDIR_x86_fbsd="lib32"
LINGUAS="ru en"
LOGNAME="sanches"
LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:"
MAKEOPTS="-j5"
MANPATH="/etc/java-config-2/current-system-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.3.4/man:/etc/java-config/system-vm/man/"
MULTILIB_ABIS="amd64 x86"
MULTILIB_STRICT_DENY="64-bit.*shared object"
MULTILIB_STRICT_DIRS="/lib32 /lib /usr/lib32 /usr/lib /usr/kde/*/lib32 /usr/kde/*/lib /usr/qt/*/lib32 /usr/qt/*/lib /usr/X11R6/lib32 /usr/X11R6/lib"
MULTILIB_STRICT_EXEMPT="(perl5|gcc|gcc-lib|binutils|eclipse-3|debug|portage)"
NETBEANS="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml"
OPENGL_PROFILE="xorg-x11"
ORBIT_SOCKETDIR="/tmp/orbit-sanches"
PAGER="/usr/bin/less"
PATH="/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.3.4:/usr/games/bin:/bin:/sbin"
PKGDIR="/var/spool/packages"
PORTAGE_ARCHLIST="ppc x86-openbsd ppc-openbsd ppc64 x86-winnt x86-fbsd ppc-aix alpha arm x86-freebsd s390 amd64 arm-linux x86-macos x64-openbsd ia64-hpux hppa x86-netbsd amd64-linux ia64-linux x86 sparc-solaris x64-freebsd sparc64-solaris x86-linux x64-macos sparc m68k-mint ia64 mips ppc-macos x86-interix hppa-hpux amd64-fbsd x64-solaris mips-irix m68k sh x86-solaris sparc-fbsd"
PORTAGE_BINHOST_CHUNKSIZE="3000"
PORTAGE_BIN_PATH="/usr/lib64/portage/bin"
PORTAGE_COMPRESS_EXCLUDE_SUFFIXES="css gif htm[l]? jp[e]?g js pdf png"
PORTAGE_CONFIGROOT="/"
PORTAGE_DEBUG="0"
PORTAGE_DEPCACHEDIR="/var/cache/edb/dep"
PORTAGE_ELOG_CLASSES="warn error log info qa"
PORTAGE_ELOG_MAILFROM="portage@localhost"
PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}"
PORTAGE_ELOG_MAILURI="root"
PORTAGE_ELOG_SYSTEM="save"
PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS="5"
PORTAGE_FETCH_RESUME_MIN_SIZE="350K"
PORTAGE_GID="250"
PORTAGE_INST_GID="0"
PORTAGE_INST_UID="0"
PORTAGE_PYM_PATH="/usr/lib64/portage/pym"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_RSYNC_RETRIES="3"
PORTAGE_SYNC_STALE="30"
PORTAGE_TMPDIR="/var/tmp"
PORTAGE_VERBOSE="1"
PORTAGE_WORKDIR_MODE="0700"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/sunrise /usr/local/portage/layman/steev-stable /usr/local/portage/layman/desktop-effects /usr/local/portage"
PROFILE_ONLY_VARIABLES="ARCH ELIBC KERNEL USERLAND"
PWD="/home/sanches"
PYTHONDONTWRITEBYTECODE="1"
QEMU_SOFTMMU_TARGETS="i386 x86_64"
QEMU_USER_TARGETS="i386 x86_64"
RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}""
ROOT="/"
ROOTPATH="/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.3.4"
RPMDIR="/usr/portage/rpm"
RUBY_TARGETS="ruby18"
SESSION_MANAGER="local/ssl:@/tmp/.ICE-unix/16139,unix/ssl:/tmp/.ICE-unix/16139"
SHELL="/bin/bash"
SHLVL="1"
SSH_AGENT_PID="16158"
SSH_AUTH_SOCK="/tmp/keyring-jCyryM/socket.ssh"
STAGE1_USE="multilib nptl nptlonly unicode"
SYMLINK_LIB="yes"
SYNC="rsync://mirror.yandex.ru/gentoo-portage"
TERM="xterm"
USE="3dnow X a52 aac acl acpi alsa amd64 applet archive automount avahi bash-completion beagle berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus dirac djvu dri dri2 dts dvd dvdr emboss encode epiphany eselect exif fam ffmpeg firefox flac fortran freetype fuse galago gdbm gedit ghostscript gif gnome gnome-keyring gphoto2 gpm gsm gstreamer gtk hal iconv jpeg jpeg2k lcms libnotify lm_sensors mad matroska mikmod mmx mng modules mono mp3 mp4 mpeg mudflap multilib multiuser nautilus ncurses nls nptl nptlonly ogg opengl openmp pam pango pch pcre pdf perl png ppds pppd python readline reflection samba sdl session spell spl sse sse2 sse3 ssl startup-notification svg sysfs tcpd theora threads tiff truetype udev unicode usb v4l v4l2 vorbis x264 xcb xcomposite xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CAMERAS="canon" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru en" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nv intel vesa" 
USER="sanches"
USERLAND="GNU"
USERNAME="sanches"
USE_EXPAND="ALSA_CARDS ALSA_PCM_PLUGINS APACHE2_MODULES APACHE2_MPMS CAMERAS CROSSCOMPILE_OPTS DVB_CARDS ELIBC FCDSL_CARDS FOO2ZJS_DEVICES FRITZCAPI_CARDS INPUT_DEVICES KERNEL LCD_DEVICES LINGUAS LIRC_DEVICES MISDN_CARDS NETBEANS_MODULES NGINX_MODULES_HTTP NGINX_MODULES_MAIL QEMU_SOFTMMU_TARGETS QEMU_USER_TARGETS RUBY_TARGETS SANE_BACKENDS USERLAND VIDEO_CARDS"
USE_EXPAND_HIDDEN="CROSSCOMPILE_OPTS ELIBC KERNEL USERLAND"
USE_ORDER="env:pkg:conf:defaults:pkginternal:env.d"
VIDEO_CARDS="nv intel vesa"
WINDOWID="37752591"
WINDOWPATH="7"
XAUTHORITY="/home/sanches/.Xauthority"
XDG_CONFIG_DIRS="/etc/xdg"
XDG_DATA_DIRS="/usr/local/share:/usr/share:/usr/share/gdm"
XDG_MENU_PREFIX="gnome-"
XDG_SESSION_COOKIE="10b8b57d545ca10fdbc082074b21f921-1272268948.653818-34411620"
_="/usr/bin/emerge"
bash4="4.0.37(2)-release"
Comment 1 Doug Goldstein (RETIRED) gentoo-dev 2010-07-20 23:23:20 UTC
Please retest with 0.12.4-r2. Is this inside of the guest or on the host?
Comment 2 Alexandr Tiurin 2010-07-25 16:00:05 UTC
(In reply to comment #1)
> Please retest with 0.12.4-r2. Is this inside of the guest or on the host?
> 

Sorry, i do not use AMD platform now.
But, i have a problem on Intel. kernel 2.6.34-gentoo-r2, qemu-kvm-0.12.4-r3. Very slow virtio disk I/O inside of the guest. 


For compare
1. Filesystem ext4 on the host
   Create new img: qemu-img create -f qcow2 tesvirtwin.img 7000M
   Install Windows 2003 + virtio blk drivers
   Fast NTFS format ~ 80 seconds

2. Filesystem ext3 on the host
   Create new img: qemu-img create -f qcow2 tesvirtwin.img 7000M
   Install Windows 2003 + virtio blk drivers
   Fast NTFS format ~ 46 seconds

3. OpenSuse 11.3 x86_64.  Filesystem ext3 on the host
   Create new img: qemu-img create -f qcow2 tesvirtwin.img 7000M
   Install Windows 2003 + virtio blk drivers
   Fast NTFS format ~ 8 seconds

USE Flags app-emulation/qemu-kvm-0.12.4-r2
alsa bluetooth fdt ncurses qemu_softmmu_targets_i386 qemu_softmmu_targets_x86_64 qemu_user_targets_i386 qemu_user_targets_x86_64 sdl vde

Virtio blk driver from http://www.linux-kvm.net/sites/default/files/viostor-31-03-2010-floppy.img

qemu-kvm  -m 512 \
-vga std \
-cpu host \
-smp 1 \
-drive file=./tesvirtwin.img,if=virtio,boot=on \
-cdrom ./2003.iso \
-boot d \
-fda "./viostor-31-03-2010-floppy.img" \
-name "Win2003-PDC" \
-localtime \
&


Comment 3 Alexandr Tiurin 2010-07-25 16:03:59 UTC
Created attachment 240115 [details]
emerge --info
Comment 4 Alexandr Tiurin 2010-08-04 05:48:04 UTC
I applied the patches from http://download.opensuse.org/source/distribution/11.3/repo/oss/suse/src/kvm-0.12.3-2.9.src.rpm  for qemu-kvm-0.12.3-r1:

kvm-qemu-preXX-qcow2-error-handling.patch 
kvm-qemu-preXX-qcow2-regression.patch 
kvm-qemu-preXX-write-full.patch 
kvm-qemu-preXX-default-writeback.patch

and the problem solved for me. x86 and x86_64.