-
Bug
-
Resolution: Unresolved
-
Normal
-
None
-
rhel-9.3.0
-
None
-
Moderate
-
rhel-sst-virtualization-windows
-
ssg_virtualization
-
None
-
QE ack
-
False
-
-
None
-
Red Hat Enterprise Linux
-
None
-
None
-
None
-
-
x86_64
-
Windows
-
None
Description of problem:
performance of the viostor driver slightly decrease between 187 and 189
refer to upstream issue:
https://github.com/virtio-win/kvm-guest-drivers-windows/issues/992
Version-Release number of selected component (if applicable):
Guest: Win2016
kernel-5.14.0-362.8.1.el9_3.x86_64
qemu-kvm-8.0.0-16.el9_3.x86_64
seabios-bin-1.16.1-1.el9.noarch
virtio-win-prewhql-187
virtio-win-prewhql-189
How reproducible:
100%
Steps to Reproduce:
1.boot a win2016(PC) guest
/usr/libexec/qemu-kvm \
-name 'avocado-vt-vm3' \
-machine pc \
-nodefaults \
-vga std \
-blockdev node-name=file_sys,driver=file,cache.direct=on,cache.no-flush=off,filename=win2016-64-virtio.qcow2,aio=threads \
-blockdev node-name=drive_sys,driver=qcow2,cache.direct=on,cache.no-flush=off,file=file_sys \
-device virtio-blk-pci,id=sys,drive=drive_sys,bus=pci.0 \
-blockdev node-name=file_stg1,driver=file,cache.direct=on,cache.no-flush=off,filename=disk.qcow2,aio=threads \
-blockdev node-name=drive_stg1,driver=qcow2,cache.direct=on,cache.no-flush=off,file=file_stg1 \
-device virtio-blk-pci,id=stg1,drive=drive_stg1,bus=pci.0 \
-device virtio-net-pci,mac=9a:36:83:b6:3d:05,id=idJVpmsF,netdev=id23ZUK6,bus=pci.0 \
-netdev tap,id=id23ZUK6,vhost=on \
-m 4G \
-smp 4 \
-cpu 'Skylake-Server',hv_stimer,hv_synic,hv_vpindex,hv_reset,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv-tlbflush,+kvm_pv_unhalt \
-cdrom /home/kvm_autotest_root/iso/windows/virtio-win-prewhql-0.1-187.iso \
-device piix3-usb-uhci,id=usb -device usb-tablet,id=input0 \
-vnc :1 \
-rtc base=localtime,clock=host,driftfix=slew \
-boot order=cdn,once=c,menu=off,strict=off \
-enable-kvm \
-qmp tcp:0:1231,server,nowait \
-monitor stdio \
2. do iometer (4K random read / write (70% read)) on data disk with 187 version
3. record the Total I/Os per Second
4. repeat step 2-3
Actual results:
performance of the viostor driver slightly decrease between 187 and 189 (about 5%)
Expected results:
Performance should have some improvement base on:
https://gitlab.cee.redhat.com/virtio-win/internal-kvm-guest-drivers-windows/-/commit/7fab9a360fd78087a20b11b4f5f47d7197909885 (There were several changes related to the performance optimization and the maximum transfer size
between build 187 and 189.)
Additional info:
1. Not reproduce on 8k rand 7:3
2. Also reproduce with 2M seq 7:3 between 187 and 189, but performance becomes better with 240
iometer.icf
'Run Time
' hours minutes seconds
0 1 0
'Ramp Up Time (s)
0
'Default Disk Workers to Spawn
NUMBER_OF_CPUS
'Default Network Workers to Spawn
0
'Record Results
ALL
'Worker Cycling
' start step step type
1 1 LINEAR
'Disk Cycling
' start step step type
1 1 LINEAR
'Queue Depth Cycling
' start end step step type
1 32 2 EXPONENTIAL
'Test Type
NORMAL
'END test setup
*****
'MANAGER LIST ==================================================================
'Manager ID, manager name
1,WIN-G20NI70DE9E
'Manager network address
'Worker
Worker 1
'Worker type
DISK
'Default target settings for worker
'Number of outstanding IOs,test connection rate,transactions per connection,use fixed seed,fixed seed value
64,DISABLED,1,DISABLED,0
'Disk maximum size,starting sector,Data pattern
20971520,0,0
'End default target settings for worker
'Assigned access specs
4k rand 7:3
'End assigned access specs
'Target assignments
BTW:
for the upstream issue, the reporter use : -device vhost-user-blk-pci ( IOps are obviously larger than virtio-blk-pci)
but I can not start a VM with -device vhost-user-blk-pci with 187 version (hit BSOD), the env shoud have some differences upstream and downstream