Bug 1184430 - enable event index feature in Windows virtio-blk driver
Summary: enable event index feature in Windows virtio-blk driver
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: virtio-win
Version: 7.2
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: rc
: ---
Assignee: Vadim Rozenfeld
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-01-21 11:23 UTC by Vadim Rozenfeld
Modified: 2015-11-24 08:48 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: Previous version of Windows virtio-blk driver (viostor.sys) didn't activate virtio queue event indexing feature. Consequence: some potential performance improvement was missing. Fix: Automatically enable event index feature if it is enabled by host. Result: Now virtio-blk device can fully utilize virtio queue event index feature.
Clone Of:
Environment:
Last Closed: 2015-11-24 08:48:59 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:2513 normal SHIPPED_LIVE virtio-win bug fix and enhancement update 2015-11-24 13:38:38 UTC

Description Vadim Rozenfeld 2015-01-21 11:23:23 UTC
Description of problem:
Windows virtio-blk (viostor) driver always keeps event index features disbled

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Vadim Rozenfeld 2015-03-03 02:50:18 UTC
Should be fixed in build 101, available at http://download.devel.redhat.com/brewroot/packages/virtio-win-prewhql/0.1/101/win/virtio-win-prewhql-0.1.zip

Comment 5 lijin 2015-07-17 08:16:39 UTC
wyu,please verify this bug with latest build

Comment 8 Yu Wang 2015-07-20 02:54:29 UTC
Verified this issue on virtio-win-prewhql-105 version

Steps:

1 /usr/libexec/qemu-kvm -name win8-32 -enable-kvm -m 2G -smp 2 -uuid ae361e8d-28a4-4e70-8783-bda0d450ce35 -nodefconfig --nodefaults -chardev socket,id=charmonitor,path=/tmp/win8-32,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -boot order=cd,menu=on -drive file=win8-32.raw,if=none,id=drive-ide0-0-0,format=raw,serial=mike_cao,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive file=en_windows_8_enterprise_x86_dvd_917587.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,script=/etc/qemu-ifup,downscript=no,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=00:52:5a:30:2e:58,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=isa_serial0 -vnc 0.0.0.0:7 -vga cirrus -monitor stdio -qmp tcp:0:4447,server,nowait -drive file=test.raw,if=none,id=drive-virtio-disk0,format=raw,serial=mike_cao,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk0,id=virtio-disk0

2 (qemu)#info qtree

Result:

It can be checked with "info qtree" command with "envent_indx enabled":
 dev: virtio-blk-pci, id "virtio-disk0"
   class = 0 (0x0)
   ...
   ...
   event_idx = true

Based on above ,this issue has been fixed on virtio-win-prewhql-105 version

Fix version:
virtio-win-prewhql-105
kernel-3.10.0-296.el7.x86_64
qemu-kvm-rhev-2.3.0-12.el7.x86_64
seabios-1.7.5-9.el7.x86_64

Comment 9 Yu Wang 2015-07-21 02:31:39 UTC
Hi Vadim,

  We have tried on virtio-win-prewhql-100 version, but we cannot reproduce this bug. Steps refer to comment#8.
  
  It can still be checked with "info qtree" command with "event_idx enabled":

 dev: virtio-blk-pci, id "virtio-disk0"
   class = 0 (0x0)
   ...
   ...
   event_idx = true

  I wonder if it is right for our verify steps on this bug. 
  What is the correct detailed steps to check event_idx? or maybe it is related to kernel and qemu version not driver?


Thanks
wyu

Comment 10 Vadim Rozenfeld 2015-07-21 03:31:27 UTC
(In reply to wangyu from comment #9)
> Hi Vadim,
> 
>   We have tried on virtio-win-prewhql-100 version, but we cannot reproduce
> this bug. Steps refer to comment#8.
>   
>   It can still be checked with "info qtree" command with "event_idx enabled":
> 
>  dev: virtio-blk-pci, id "virtio-disk0"
>    class = 0 (0x0)
>    ...
>    ...
>    event_idx = true
> 
>   I wonder if it is right for our verify steps on this bug. 
>   What is the correct detailed steps to check event_idx? or maybe it is
> related to kernel and qemu version not driver?
> 
> 
> Thanks
> wyu

Hi Wyu,

I probably didn't understand your question correctly. Sorry for that.
As I said before, event index enabled by default, and it can be checked with "info qtree' command. But it is relevant to qemu (host) side only. Guest/virtio-blk driver can ignore this feature. The previous versions of Windows virtio-blk driver didn't utilize this feature even though it was enable from the host side. The new version uses it. Unfortunately, virtio-blk driver in Windows doesn't provide any explicit indication regarding to activation event index feature. (Unlike vioscsi, where such kind of information can be retrieved with WMI). The only way to know that it works - just to check that the driver doesn't crash during normal read or write operations.

Best regards,
Vadim.

Comment 11 Yu Wang 2015-08-18 09:55:48 UTC
Verified this issue on virtio-win-prewhql-106 version

Steps:
1. Start windows guest
2. run normal read or write operations according virtio-win viostor function test

Actual Results:

The driver doesn't crash during normal read or write operations on windows guest

fix version, virtio-win-prewhql-106

Base on above,the blk event index feature can be used on windows guest.


virtio-win-prewhql-106
qemu-kvm-rhev-2.3.0-16.el7.x86_64
kernel-3.10.0-305.el7.x86_64
seabios-1.7.5-11.el7.x86_64

Comment 12 lijin 2015-09-02 07:32:06 UTC
change status to verified according to comment#10 and comment#11

Comment 14 errata-xmlrpc 2015-11-24 08:48:59 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-2513.html


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