Bug 1214568

Summary: [RFE][virtio-win] Add WMI facility to check the virito-scsi mq enabled
Product: Red Hat Enterprise Linux 7 Reporter: Xiaomei Gao <xigao>
Component: virtio-winAssignee: Vadim Rozenfeld <vrozenfe>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2CC: juzhang, lijin, lmiksik, mdeng, michen, rbalakri, sherold, virt-maint, vrozenfe, wquan, wyu
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: x86_64   
OS: Windows   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
NO_DOCS
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-04 08:45:07 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1288337    
Attachments:
Description Flags
vbs script for reading vioscsi WMI data
none
results none

Description Xiaomei Gao 2015-04-23 06:07:59 UTC
Description of problem:

Currently, vioscsi driver can be able to crate a number of queues to submit concurrent requests simultaneously, but we can't check if multiqueue is really enabled in guest, so open the bug to track the issue.

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-05-23 11:59:38 UTC
Created attachment 1029023 [details]
vbs script for reading vioscsi WMI data

Run with elevated (Administrator) privileges, then open vioscsi.log file to see
vioscsi WMI data.

Comment 2 Vadim Rozenfeld 2015-05-24 06:18:21 UTC
please check with vioscsi driver from the latest build, available at
http://download.devel.redhat.com/brewroot/packages/virtio-win-prewhql/0.1/104/win/virtio-win-prewhql-0.1.zip

Thanks,
Vadim.

Comment 4 lijin 2015-05-28 02:39:47 UTC
mdeng,pls verify this bug with build104

Comment 5 Min Deng 2015-06-02 06:54:00 UTC
(In reply to Vadim Rozenfeld from comment #1)
> Created attachment 1029023 [details]
> vbs script for reading vioscsi WMI data
> 
> Run with elevated (Administrator) privileges, then open vioscsi.log file to
> see
> vioscsi WMI data.

Hi Vadim,
   I can not find the log named vioscsi.log within C:\ (windows2012 OS).Could you give me a piece of advice where I can find it.Besides,I also find other files titled with "vioscsi" but I still could not find the "WMI",many thanks !
Best Regards,
Min

Comment 7 Vadim Rozenfeld 2015-06-02 07:35:06 UTC
(In reply to dengmin from comment #5)
> (In reply to Vadim Rozenfeld from comment #1)
> > Created attachment 1029023 [details]
> > vbs script for reading vioscsi WMI data
> > 
> > Run with elevated (Administrator) privileges, then open vioscsi.log file to
> > see
> > vioscsi WMI data.
> 
> Hi Vadim,
>    I can not find the log named vioscsi.log within C:\ (windows2012
> OS).Could you give me a piece of advice where I can find it.Besides,I also
> find other files titled with "vioscsi" but I still could not find the
> "WMI",many thanks !
> Best Regards,
> Min

Hi Min,
The log file should be created in the same directory where vioscsi.vbs file located. Bust make to sure that you are executing the VB script file with elevated (Admin) privileges, otherwise the file will not be created.

Comment 8 Min Deng 2015-06-03 08:07:45 UTC
(In reply to Vadim Rozenfeld from comment #7)
> (In reply to dengmin from comment #5)
> > (In reply to Vadim Rozenfeld from comment #1)
> > > Created attachment 1029023 [details]
> > > vbs script for reading vioscsi WMI data
> > > 
> > > Run with elevated (Administrator) privileges, then open vioscsi.log file to
> > > see
> > > vioscsi WMI data.
> > 
> > Hi Vadim,
> >    I can not find the log named vioscsi.log within C:\ (windows2012
> > OS).Could you give me a piece of advice where I can find it.Besides,I also
> > find other files titled with "vioscsi" but I still could not find the
> > "WMI",many thanks !
> > Best Regards,
> > Min
> 
> Hi Min,
> The log file should be created in the same directory where vioscsi.vbs file
> located. Bust make to sure that you are executing the VB script file with
> elevated (Admin) privileges, otherwise the file will not be created.

Hi Vadim,
   How to execute VB scripts ? I just install the driver from device manager manually.Does it work ? And also upload the search results from my computer,many thanks.Can you give some advices ?

Best Regards,
Min

Comment 9 Min Deng 2015-06-03 08:08:48 UTC
Created attachment 1034153 [details]
results

Comment 10 Min Deng 2015-06-03 08:12:16 UTC
(In reply to dengmin from comment #8)
> (In reply to Vadim Rozenfeld from comment #7)
> > (In reply to dengmin from comment #5)
> > > (In reply to Vadim Rozenfeld from comment #1)
> > > > Created attachment 1029023 [details]
> > > > vbs script for reading vioscsi WMI data
> > > > 
> > > > Run with elevated (Administrator) privileges, then open vioscsi.log file to
> > > > see
> > > > vioscsi WMI data.
> > > 
> > > Hi Vadim,
> > >    I can not find the log named vioscsi.log within C:\ (windows2012
> > > OS).Could you give me a piece of advice where I can find it.Besides,I also
> > > find other files titled with "vioscsi" but I still could not find the
> > > "WMI",many thanks !
> > > Best Regards,
> > > Min
> > 
> > Hi Min,
> > The log file should be created in the same directory where vioscsi.vbs file
> > located. Bust make to sure that you are executing the VB script file with
> > elevated (Admin) privileges, otherwise the file will not be created.
> 
> Hi Vadim,
>    How to execute VB scripts ? I just install the driver from device manager
> manually.Does it work ? And also upload the search results from my
> computer,many thanks.Can you give some advices ?
> 
> Best Regards,
> Min

  Found the script from the bug.Please ignore the comment.Thanks!

Comment 11 Min Deng 2015-06-03 08:24:40 UTC
Run the VB scripts within guest with build 104 on win2012 guest,as a result,get vioscsi.log from the same dir.The log is following as below,

VioScsiExtendedInfoGuid

    InstanceName=PCI\VEN_1AF4&DEV_1004&SUBSYS_00081AF4&REV_00\3&13c0b0c5&0&18_0

        instance.QueueDepth=32

        instance.QueuesCount=1

        instance.Indirect=True

        instance.EventIndex=True

        instance.DpcRedirection=False

        instance.ConcurentChannels=False

        instance.InterruptMsgRanges=False

        instance.CompletionDuringStartIo=False
 Hi Vadim,
    Is it the expected results ? Many thanks ! 
 Best Regards,
 Min

Comment 12 Mike Cao 2015-06-03 08:41:19 UTC
(In reply to dengmin from comment #11)
> Run the VB scripts within guest with build 104 on win2012 guest,as a
> result,get vioscsi.log from the same dir.The log is following as below,
> 
> VioScsiExtendedInfoGuid
> 
>    
> InstanceName=PCI\VEN_1AF4&DEV_1004&SUBSYS_00081AF4&REV_00\3&13c0b0c5&0&18_0
> 
>         instance.QueueDepth=32
> 
>         instance.QueuesCount=1
> 
>         instance.Indirect=True
> 
>         instance.EventIndex=True
> 
>         instance.DpcRedirection=False
> 
>         instance.ConcurentChannels=False
> 
>         instance.InterruptMsgRanges=False
> 
>         instance.CompletionDuringStartIo=False
>  Hi Vadim,
>     Is it the expected results ? Many thanks ! 
>  Best Regards,
>  Min

pls enable multi-queue in cli to check whether related info will be shown as well.

Comment 13 Vadim Rozenfeld 2015-06-03 09:20:07 UTC
(In reply to Mike Cao from comment #12)
> (In reply to dengmin from comment #11)
> > Run the VB scripts within guest with build 104 on win2012 guest,as a
> > result,get vioscsi.log from the same dir.The log is following as below,
> > 
> > VioScsiExtendedInfoGuid
> > 
> >    
> > InstanceName=PCI\VEN_1AF4&DEV_1004&SUBSYS_00081AF4&REV_00\3&13c0b0c5&0&18_0
> > 
> >         instance.QueueDepth=32
> > 
> >         instance.QueuesCount=1
> > 
> >         instance.Indirect=True
> > 
> >         instance.EventIndex=True
> > 
> >         instance.DpcRedirection=False
> > 
> >         instance.ConcurentChannels=False
> > 
> >         instance.InterruptMsgRanges=False
> > 
> >         instance.CompletionDuringStartIo=False
> >  Hi Vadim,
> >     Is it the expected results ? Many thanks ! 
> >  Best Regards,
> >  Min
> 
> pls enable multi-queue in cli to check whether related info will be shown as
> well.

Right, to activate MQ, we need to specify ",num_queues=" equal or greater than number of CPUs.

Comment 14 Min Deng 2015-06-08 02:55:52 UTC
(In reply to Vadim Rozenfeld from comment #13)
> (In reply to Mike Cao from comment #12)
> > (In reply to dengmin from comment #11)
> > > Run the VB scripts within guest with build 104 on win2012 guest,as a
> > > result,get vioscsi.log from the same dir.The log is following as below,
> > > 
> > > VioScsiExtendedInfoGuid
> > > 
> > >    
> > > InstanceName=PCI\VEN_1AF4&DEV_1004&SUBSYS_00081AF4&REV_00\3&13c0b0c5&0&18_0
> > > 
> > >         instance.QueueDepth=32
> > > 
> > >         instance.QueuesCount=1
> > > 
> > >         instance.Indirect=True
> > > 
> > >         instance.EventIndex=True
> > > 
> > >         instance.DpcRedirection=False
> > > 
> > >         instance.ConcurentChannels=False
> > > 
> > >         instance.InterruptMsgRanges=False
> > > 
> > >         instance.CompletionDuringStartIo=False
> > >  Hi Vadim,
> > >     Is it the expected results ? Many thanks ! 
> > >  Best Regards,
> > >  Min
> > 
> > pls enable multi-queue in cli to check whether related info will be shown as
> > well.
> 
> Right, to activate MQ, we need to specify ",num_queues=" equal or greater
> than number of CPUs.

 Summarized all comments and did the following tests
 1.set num_queues = 4,which is equal to smp (comments 6)
   Get the following test results,
   VioScsiExtendedInfoGuid

    InstanceName=PCI\VEN_1AF4&DEV_1004&SUBSYS_00081AF4&REV_00\3&13c0b0c5&0&18_0

        instance.QueueDepth=32

        instance.QueuesCount=4

        instance.Indirect=True

        instance.EventIndex=True

        instance.DpcRedirection=True

        instance.ConcurentChannels=True

        instance.InterruptMsgRanges=False

        instance.CompletionDuringStartIo=True 
 2.set num_queues = 6,which is greater than smp
   Get the following results,
   VioScsiExtendedInfoGuid

    InstanceName=PCI\VEN_1AF4&DEV_1004&SUBSYS_00081AF4&REV_00\3&13c0b0c5&0&18_0

        instance.QueueDepth=32

        instance.QueuesCount=4

        instance.Indirect=True

        instance.EventIndex=True

        instance.DpcRedirection=True

        instance.ConcurentChannels=True

        instance.InterruptMsgRanges=False

        instance.CompletionDuringStartIo=True

  At last,it seems the results are same when set num_queues is equal or greater than smp from cli.Any mistakes please feel free to tell me.

Comment 15 Vadim Rozenfeld 2015-06-08 03:20:49 UTC
(In reply to dengmin from comment #14)
> (In reply to Vadim Rozenfeld from comment #13)
> > (In reply to Mike Cao from comment #12)
> > > (In reply to dengmin from comment #11)
> > > > Run the VB scripts within guest with build 104 on win2012 guest,as a
> > > > result,get vioscsi.log from the same dir.The log is following as below,
> > > > 
> > > > VioScsiExtendedInfoGuid
> > > > 
> > > >    
> > > > InstanceName=PCI\VEN_1AF4&DEV_1004&SUBSYS_00081AF4&REV_00\3&13c0b0c5&0&18_0
> > > > 
> > > >         instance.QueueDepth=32
> > > > 
> > > >         instance.QueuesCount=1
> > > > 
> > > >         instance.Indirect=True
> > > > 
> > > >         instance.EventIndex=True
> > > > 
> > > >         instance.DpcRedirection=False
> > > > 
> > > >         instance.ConcurentChannels=False
> > > > 
> > > >         instance.InterruptMsgRanges=False
> > > > 
> > > >         instance.CompletionDuringStartIo=False
> > > >  Hi Vadim,
> > > >     Is it the expected results ? Many thanks ! 
> > > >  Best Regards,
> > > >  Min
> > > 
> > > pls enable multi-queue in cli to check whether related info will be shown as
> > > well.
> > 
> > Right, to activate MQ, we need to specify ",num_queues=" equal or greater
> > than number of CPUs.
> 
>  Summarized all comments and did the following tests
>  1.set num_queues = 4,which is equal to smp (comments 6)
>    Get the following test results,
>    VioScsiExtendedInfoGuid
> 
>    
> InstanceName=PCI\VEN_1AF4&DEV_1004&SUBSYS_00081AF4&REV_00\3&13c0b0c5&0&18_0
> 
>         instance.QueueDepth=32
> 
>         instance.QueuesCount=4
> 
>         instance.Indirect=True
> 
>         instance.EventIndex=True
> 
>         instance.DpcRedirection=True
> 
>         instance.ConcurentChannels=True
> 
>         instance.InterruptMsgRanges=False
> 
>         instance.CompletionDuringStartIo=True 
>  2.set num_queues = 6,which is greater than smp
>    Get the following results,
>    VioScsiExtendedInfoGuid
> 
>    
> InstanceName=PCI\VEN_1AF4&DEV_1004&SUBSYS_00081AF4&REV_00\3&13c0b0c5&0&18_0
> 
>         instance.QueueDepth=32
> 
>         instance.QueuesCount=4
> 
>         instance.Indirect=True
> 
>         instance.EventIndex=True
> 
>         instance.DpcRedirection=True
> 
>         instance.ConcurentChannels=True
> 
>         instance.InterruptMsgRanges=False
> 
>         instance.CompletionDuringStartIo=True
> 
>   At last,it seems the results are same when set num_queues is equal or
> greater than smp from cli.Any mistakes please feel free to tell me.

Right, it how it works. If the number of queues, specified in qemu command line is less than number of CPUs, the MQ feature will not be activated and instance.QueuesCount will be reported as 1. Otherwise, vioscsi driver will trim 
the number of queues to the number of of CPUs.

Vadim.

Comment 16 lijin 2015-07-17 07:45:57 UTC
change status to verified according to comment#14 and comment#15

Comment 21 Vadim Rozenfeld 2015-09-30 05:55:04 UTC
This bug is tightly coupled with https://bugzilla.redhat.com/show_bug.cgi?id=1210166 
Moving it to 7.3 as well.

Comment 25 Yu Wang 2016-07-07 03:46:38 UTC
Hi,

Retest this with virtio-win-prewhql-121, 

Steps as comment#1 and instance.QueuesCount=4 is expected
this bug has been fixed

Thanks
Yu Wang

Comment 26 Yu Wang 2016-07-07 03:48:08 UTC
according comment25, change status to verified

Comment 28 errata-xmlrpc 2016-11-04 08:45:07 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-2016-2609.html