Bug 859882 - Current default TX offload settings lead to low performance on guests from Windows server 2008 and up
Current default TX offload settings lead to low performance on guests from Wi...
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: virtio-win (Show other bugs)
Unspecified Windows
unspecified Severity urgent
: rc
: ---
Assigned To: Dmitry Fleytman
Virtualization Bugs
Depends On:
  Show dependency treegraph
Reported: 2012-09-24 05:39 EDT by Yan Vugenfirer
Modified: 2013-05-28 01:48 EDT (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-02-21 05:40:50 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Yan Vugenfirer 2012-09-24 05:39:20 EDT
Description of problem:
Current default offload setting on Windows include both IP checksum and TCP\UDP checksum offload. It is done in order to pass HCK tests on variety of OSes (this default is a requirement for HCK). 
Such setting wasn't required on the previous test kit - WLK 1.6. Also in this case IP checksum is calculated by the driver anyway as virtio header cannot contain information need to calculate two checksums for one packet.

In some cases Windows will not only set checksum in IP header but also will not indicate packet size in the header. In those cases driver will fail to calculate the checksum and the performance will be badly effected.

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

How reproducible:

Steps to Reproduce:
Actual results:

Expected results:

Additional info:
Comment 1 Yan Vugenfirer 2012-09-24 05:44:11 EDT
This is a regression from previous versions.
Comment 2 Yan Vugenfirer 2012-09-27 12:21:15 EDT
Although the MSDN clearly states that the TCPIP stack fills the length in IP header, it seems the MSFT decided to ignore this statement (possible, for LSO V2) because the packet will be fragmented anyway, so they think the HW does not need this field and they expect us to use the length value in NET_BUFFER struct.
We are going to populate the length anyway.
Comment 4 Yan Vugenfirer 2012-10-02 05:04:56 EDT
Build 39.
Comment 5 Mike Cao 2012-10-12 04:01:45 EDT
dengmin ,pls run netkvm whql test for win2k8 to verify this bug 

Comment 9 Mike Cao 2012-10-23 01:10:56 EDT
Based on comment #7 and comment #8 move status to verified.
Comment 10 errata-xmlrpc 2013-02-21 05:40:50 EST
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.

Comment 11 Gordon Messmer 2013-05-27 22:14:07 EDT
The drivers included in the virtio-win ISO don't appear to have been updated.  Where can we get the current version of the driver?

                         57240     57240         0 100% /mnt/disc1
                         85418     85418         0 100% /mnt/disc2

51f50a8f1967ae50c279d7c4d18ba5fe  disc1/win7/amd64/netkvm.sys
51f50a8f1967ae50c279d7c4d18ba5fe  disc2/NetKVM/2k8R2/amd64/netkvm.sys
51f50a8f1967ae50c279d7c4d18ba5fe  disc2/NetKVM/w7/amd64/netkvm.sys
Comment 12 Gordon Messmer 2013-05-28 01:48:52 EDT
I apologize, I was working on the impression that the former ISO was obtained through RHEL channels, but I may be mistaken.

Using driver NetKVM driver on 2k8R2, we see gigabit throughput on UDP (e.g. CIFS) but only about 3Mbps on TCP flows.  I thought that might have been due to this bug.  I'll continue to gather information and submit a new bug.

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