Bug 1388920

Summary: [NetKVM] review additional possible performance improvements
Product: Red Hat Enterprise Linux 7 Reporter: Yvugenfi <yvugenfi>
Component: virtio-winAssignee: ybendito
virtio-win sub component: virtio-win-prewhql QA Contact: Virtualization Bugs <virt-bugs>
Status: CLOSED ERRATA Docs Contact:
Severity: medium    
Priority: medium CC: ailan, chayang, jherrman, juzhang, lijin, lmiksik, lprosek, mtessun, wquan, yama, ybendito, yvugenfi
Version: 7.4   
Target Milestone: rc   
Target Release: 7.4   
Hardware: Unspecified   
OS: Windows   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
The performance of the NetKVM driver (virtio-net) has been significantly improved.
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 12:53:08 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: 1395265    

Description Yvugenfi@redhat.com 2016-10-26 13:07:39 UTC
Description of problem:

Conduct code review to find possible points for performance improvement.

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


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 ybendito 2016-11-22 09:12:11 UTC
virtio-win-prewhql-0.1-128 includes implementation of these improvements

Comment 3 Quan Wenli 2016-11-23 03:13:32 UTC
Hi, yan 

I have two concerns before I verify this bug:

 - If build 128 is the first version including the code ? yes, I check it with build 127 and 128. 
 - which guest will be influenced ? I plan to pick up one or two guests for checking. 

Thanks, wenli

Comment 4 ybendito 2016-11-23 08:16:48 UTC
1. All Windows guests are affected (except of 2003/XP).
2. These changes were first introduced in 128

Comment 5 Yvugenfi@redhat.com 2016-11-24 08:56:07 UTC
(In reply to Quan Wenli from comment #3)
> Hi, yan 
> 
> I have two concerns before I verify this bug:
> 
>  - If build 128 is the first version including the code ? yes, I check it
> with build 127 and 128. 
>  - which guest will be influenced ? I plan to pick up one or two guests for
> checking. 
> 
> Thanks, wenli

Hi,

I am not sure about 127. Better use 126 - it was RHEL7.3 release build and it didn't have those changes at all. Also we are sure that 126 is a stable build.


If you want to minimise guest matrix - I suggest to use Windows 2012R2 and Windows 2008 as test cases. 

Best regards,
Yan.

Comment 8 Quan Wenli 2016-11-30 08:47:16 UTC
I checked the value of Recv Segment Coalescing is enabled with build 128. 

Yuri, do you know the about setup setting about Yan mentioned ?

Comment 13 Quan Wenli 2016-12-14 07:35:36 UTC
Hi, Yuri

Yan suggest us to test Windows 2012R2 and Windows 2008 in comment#5, but it looks like the RSC is not working on Windows 2008. Follows are the part of output `ethtook -k tap0` for both Windows 2008 and 2012R2. Need us test Windows 2008 as well ?

build-126/win2008-64.qcow2

tx-checksumming: on
	tx-checksum-ipv4: off [fixed]
	tx-checksum-ip-generic: on
	tx-checksum-ipv6: off [fixed]
	tx-checksum-fcoe-crc: off [fixed]
	tx-checksum-sctp: off [fixed]
scatter-gather: on
	tx-scatter-gather: on
	tx-scatter-gather-fraglist: on
tcp-segmentation-offload: off
	tx-tcp-segmentation: off [requested on]
	tx-tcp-ecn-segmentation: off [requested on]
	tx-tcp6-segmentation: off [requested on]

build-128/win2008-64.qcow2

tx-checksumming: on
	tx-checksum-ipv4: off [fixed]
	tx-checksum-ip-generic: on
	tx-checksum-ipv6: off [fixed]
	tx-checksum-fcoe-crc: off [fixed]
	tx-checksum-sctp: off [fixed]
scatter-gather: on
	tx-scatter-gather: on
	tx-scatter-gather-fraglist: on
tcp-segmentation-offload: off
	tx-tcp-segmentation: off [requested on]
	tx-tcp-ecn-segmentation: off [requested on]
	tx-tcp6-segmentation: off [requested on]

build-126/win2012r2-64.qcow2
tx-checksumming: on
	tx-checksum-ipv4: off [fixed]
	tx-checksum-ip-generic: on
	tx-checksum-ipv6: off [fixed]
	tx-checksum-fcoe-crc: off [fixed]
	tx-checksum-sctp: off [fixed]
scatter-gather: on
	tx-scatter-gather: on
	tx-scatter-gather-fraglist: on
tcp-segmentation-offload: on
	tx-tcp-segmentation: on
	tx-tcp-ecn-segmentation: off [requested on]
	tx-tcp6-segmentation: on

128/win2012r2-64.qcow2

tx-checksumming: on
	tx-checksum-ipv4: off [fixed]
	tx-checksum-ip-generic: on
	tx-checksum-ipv6: off [fixed]
	tx-checksum-fcoe-crc: off [fixed]
	tx-checksum-sctp: off [fixed]
scatter-gather: on
	tx-scatter-gather: on
	tx-scatter-gather-fraglist: on
tcp-segmentation-offload: on
	tx-tcp-segmentation: on
	tx-tcp-ecn-segmentation: off [requested on]
	tx-tcp6-segmentation: on

Comment 14 ybendito 2016-12-14 12:32:18 UTC
(In reply to Quan Wenli from comment #13)
> Hi, Yuri
> 
> Yan suggest us to test Windows 2012R2 and Windows 2008 in comment#5, but it
> looks like the RSC is not working on Windows 2008. Follows are the part of
> output `ethtook -k tap0` for both Windows 2008 and 2012R2. Need us test
> Windows 2008 as well ?
> 
> build-126/win2008-64.qcow2
> 
> tx-checksumming: on
> 	tx-checksum-ipv4: off [fixed]
> 	tx-checksum-ip-generic: on
> 	tx-checksum-ipv6: off [fixed]
> 	tx-checksum-fcoe-crc: off [fixed]
> 	tx-checksum-sctp: off [fixed]
> scatter-gather: on
> 	tx-scatter-gather: on
> 	tx-scatter-gather-fraglist: on
> tcp-segmentation-offload: off
> 	tx-tcp-segmentation: off [requested on]
> 	tx-tcp-ecn-segmentation: off [requested on]
> 	tx-tcp6-segmentation: off [requested on]
> 
> build-128/win2008-64.qcow2
> 
> tx-checksumming: on
> 	tx-checksum-ipv4: off [fixed]
> 	tx-checksum-ip-generic: on
> 	tx-checksum-ipv6: off [fixed]
> 	tx-checksum-fcoe-crc: off [fixed]
> 	tx-checksum-sctp: off [fixed]
> scatter-gather: on
> 	tx-scatter-gather: on
> 	tx-scatter-gather-fraglist: on
> tcp-segmentation-offload: off
> 	tx-tcp-segmentation: off [requested on]
> 	tx-tcp-ecn-segmentation: off [requested on]
> 	tx-tcp6-segmentation: off [requested on]
> 
> build-126/win2012r2-64.qcow2
> tx-checksumming: on
> 	tx-checksum-ipv4: off [fixed]
> 	tx-checksum-ip-generic: on
> 	tx-checksum-ipv6: off [fixed]
> 	tx-checksum-fcoe-crc: off [fixed]
> 	tx-checksum-sctp: off [fixed]
> scatter-gather: on
> 	tx-scatter-gather: on
> 	tx-scatter-gather-fraglist: on
> tcp-segmentation-offload: on
> 	tx-tcp-segmentation: on
> 	tx-tcp-ecn-segmentation: off [requested on]
> 	tx-tcp6-segmentation: on
> 
> 128/win2012r2-64.qcow2
> 
> tx-checksumming: on
> 	tx-checksum-ipv4: off [fixed]
> 	tx-checksum-ip-generic: on
> 	tx-checksum-ipv6: off [fixed]
> 	tx-checksum-fcoe-crc: off [fixed]
> 	tx-checksum-sctp: off [fixed]
> scatter-gather: on
> 	tx-scatter-gather: on
> 	tx-scatter-gather-fraglist: on
> tcp-segmentation-offload: on
> 	tx-tcp-segmentation: on
> 	tx-tcp-ecn-segmentation: off [requested on]
> 	tx-tcp6-segmentation: on

You're right, RSC is not active on 2008 on both 126 and 128, so they will be compared without RSC on 2008 and with RSC on 2012R2.

Comment 24 errata-xmlrpc 2017-08-01 12:53:08 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://access.redhat.com/errata/RHBA-2017:2341