From:
Mala Anand [mailto:manand@xxxxxxxxxx]
Sent: 14 September 2017 03:58
To: Paul Durrant <Paul.Durrant@xxxxxxxxxx>
Cc: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
Subject: RE: [win-pv-devel] Windows 2016 network performance on Xen
Thanks Paul.
I compared tcpdump from both runs, the Windows tcp window size is ~200k whereas Linux tcp window size is > 1MB.
In the good case,
Linux is able to receive large data and Windows is able to send the data.
In the bad case,
Windows is only receiving 2986 bytes at a time and sending ack only for 2986 even though Linux is sending large segments. Windows sends multiple acks for each large segment.
I tried increasing Window size in the Registry, as I mentioned earlier, I played with auto-tuning levels also.
On another note, do you know when Xen Tool would include 8.2 version pv drivers?
Thanks,
Mala
---------------------------------------------------------------------------
Paul
Durrant ---09/11/2017 10:04:57 AM---Mala, The RSS changes did not arrive until the 8.2 release of the drivers, but for a single stream
From:
Paul Durrant <Paul.Durrant@xxxxxxxxxx>
To:
'Mala Anand' <manand@xxxxxxxxxx>, "win-pv-devel@xxxxxxxxxxxxxxxxxxxx" <win-pv-devel@xxxxxxxxxxxxxxxxxxxx>
Date:
09/11/2017 10:04 AM
Subject:
RE: [win-pv-devel] Windows 2016 network performance on Xen
Mala,
The RSS changes did not arrive until the 8.2 release of the drivers, but for a single stream workload (which it appears you are using) these would not help
anyway.
In my presentation I was using Ixia Chariot as my workload as, in my experience, this is one of the few benchmarks that actually works well on Windows. I believe
iperf3 is still using synchronous sockets which have never worked well on Windows, whereas IIRC Chariot uses overlapped I/O. I’m not familiar with using iperf3 so I can’t suggest the best way to tune it but you should probably wireshark your TCP streams when
running in both directions to see what sort of difference you are seeing.
Cheers,
Paul
From: win-pv-devel [mailto:win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx]
On Behalf Of Mala Anand
Sent: 09 September 2017 17:13
To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
Subject: [win-pv-devel] Windows 2016 network performance on Xen
I have two VMs running Windows 2016 on two different hosts, with single tcp stream iperf3, I can get only ~1 Gbps. I am using Windows PV driver version 8.1.0.42.
If I run iperf3 server on a Linux Ubuntu VM, iperf3 client on Windows 2016 I get ~3Gbps. If I reverse server and client (server on Windows and client on Linux VM), I get only ~1 Gbps. So clearly the problem is on Windows receive side path.
Netsh int tcp show global has
RSS, RSC are enabled.
Auto tuning is set to experimental (tried all variations, disabled, set window size in registry etc.,)
Netsh int tcp show supplemental has
I set congestion control to ctcp
I still don't get more than 1 Gbps.
I saw Paul Durrant's presentation where he showed 8 Gbps on two VMs running Windows 10 on the same host. So I tried two VMs running Windows 2016 on the same host, I still get only 1 Gbps.
Is this a Windows 2016 specific problem or does Windows 2016 and/or Dom0 Xen need tunings?
Thanks,
Mala