Bug 1025138 - Read/Randread/Randrw performance regression
Summary: Read/Randread/Randrw performance regression
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm
Version: 7.0
Hardware: x86_64
OS: Linux
high
medium
Target Milestone: rc
: ---
Assignee: Fam Zheng
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On: 1022548
Blocks: 1028252
TreeView+ depends on / blocked
 
Reported: 2013-10-31 05:48 UTC by Xiaomei Gao
Modified: 2014-06-18 03:40 UTC (History)
13 users (show)

Fixed In Version: qemu-kvm-1.5.3-20.el7
Doc Type: Bug Fix
Doc Text:
Clone Of: 1022548
Environment:
Last Closed: 2014-06-13 13:07:02 UTC
Target Upstream Version:


Attachments (Terms of Use)

Comment 1 Xiaomei Gao 2013-10-31 06:07:03 UTC
The issue can be reproduced on RHEL7 version. Downgrade my qemu-kvm version and found the regression was introduced on qemu-kvm-1.5.3-7.el7 which has the following patch:
- kvm-block-Produce-zeros-when-protocols-reading-beyond-en.patch [bz#1007226]

Test Steps:
1.Create a data disk on Netapp NFS server
   # mount -t nfs -o rw,bg,hard,nointr,rsize=65536,wsize=65536,tcp,noac,vers=3,timeo=600  192.168.0.113:/vol/s2wquan116171nfs /home/kvm_autotest_root/images
   # qemu-img create -f raw /home/kvm_autotest_root/images/storage2.raw 40G

2.Boot guest with data disk
  /usr/libexec/qemu-kvm  \
    -name 'virt-tests-vm1' \
    -nodefaults \
    -drive file='/home/kvm_autotest_root/images/RHEL-Server-6.5-64.raw',index=0,if=none,id=drive-virtio-disk1,media=disk,cache=none,snapshot=off,format=raw,aio=threads \
    -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,bootindex=0 \
    -drive file='/home/kvm_autotest_root/images/storage2.raw',index=2,if=none,id=drive-virtio-disk2,media=disk,cache=none,snapshot=off,format=raw,aio=threads \
    -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk2,bootindex=1 \
    -device virtio-net-pci,netdev=idqUIcQC,mac='9a:37:37:37:37:9e',bus=pci.0,addr=0x6,id='idT1SAVS' \
    -netdev tap,id=idqUIcQC,vhost=on \
    -m 4096 \
    -smp 2,maxcpus=2,cores=1,threads=1,sockets=2 \
    -cpu 'Westmere' \
    -M rhel6.5.0 \
    -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \
    -vnc :0 \
    -vga cirrus \
    -rtc base=utc,clock=host,driftfix=slew  \
    -boot order=cdn,once=c,menu=off   \
    -no-kvm-pit-reinjection \
    -device sga \
    -enable-kvm

3. In guest
   # i=`/bin/ls /dev/[vs]db` &&  mkfs.ext4 $i -F > /dev/null; partprobe; umount /mnt; mount $i /mnt && echo 3 > /proc/sys/vm/drop_caches && sleep 3
   # fio --rw=read --bs=4k --iodepth=1 --runtime=1m --direct=1 --filename=/mnt/read_4k_1 --name=job1 --ioengine=libaio --thread --group_reporting --numjobs=16 --size=512MB --time_based --ioscheduler=deadline 

4. Test Results:
qemu-kvm-1.5.3-10.el7 --- bad
bw=24247KB/s, iops=6061

qemu-kvm-1.5.3-6.el7  --- good
bw=60174KB/s, iops=15043

qemu-kvm-1.5.3-7.el7  --- bad
bw=20697KB/s, iops=5174

Comment 4 Miroslav Rezanina 2013-11-28 07:35:32 UTC
Fix included in qemu-kvm-1.5.3-20.el7

Comment 8 Ludek Smid 2014-06-13 13:07:02 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.


Note You need to log in before you can comment on or make changes to this bug.