[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v2 0/10] Support Receive-Segment-Offload(RSC) for
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [RFC v2 0/10] Support Receive-Segment-Offload(RSC) for WHQL test of Window guest |
Date: |
Sun, 31 Jan 2016 21:03:22 +0200 |
On Mon, Feb 01, 2016 at 02:13:19AM +0800, address@hidden wrote:
> From: Wei Xu <address@hidden>
>
> Patch v2 add detailed commit log.
>
> This patch is to support WHQL test for Windows guest, while this feature also
> benifits other guest works as a kernel 'gro' like feature with userspace
> implementation.
> Feature information:
> http://msdn.microsoft.com/en-us/library/windows/hardware/jj853324
>
> Both IPv4 and IPv6 are supported, though performance with userspace virtio
> is slow than vhost-net, there is about 30-40 percent performance
> improvement to userspace virtio, this is done by turning this feature on
> and disable 'tso' on corresponding tap interface.
>
> Test steps:
> Although this feature is mainly used for window guest, i used linux guest to
> help test
> the feature, to make things simple, i used 3 steps to test the patch as i
> moved on.
> 1. With a tcp socket client/server pair runnig on 2 linux guest, thus i can
> control
> the traffic and debugging the code as i want.
> 2. Netperf on linux guest test the throughput.
> 3. WHQL test with 2 Windows guest.
>
> Current status:
> IPv4 pass all the above tests.
> IPv6 just passed test step 1 and 2 as described ahead, the virtio nic cannot
> receive
> any packet in WHQL test, debugging on the host side shows all the packets
> have been
> pushed to th vring, by replacing it with a linux guest, i add 10 extra
> packets before
> sending out the real packet, tcpdump running on guest only capture 6 packets,
> don't
> find out the root cause yet, will continue working on this.
>
> Note:
> A 'MessageDevice' nic chose as 'Realtek' will panic the system sometimes
> during setup,
> this can be figured out by replacing it with an 'e1000' nic.
Either memory corruption or unrelated bug.
try with valgrind?
> Pending issues & Todo list:
> 1. Dup ack count not added in the virtio_net_hdr, but WHQL test case passes,
> looks like a bug in test case.
Maybe that's ok - as long as packets are not forwarded.
> 2. Missing a Feature Bit
Do we need a new bit? Maybe for ack coalescing only ...
> 3. Missing a few tcp/ip handling
> ECN change.
> TCP window scale.
>
> Wei Xu (10):
> virtio-net rsc: Data structure, 'Segment', 'Chain' and 'Status'
> virtio-net rsc: Initilize & Cleanup
> virtio-net rsc: Chain Lookup, Packet Caching and Framework of IPv4
> virtio-net rsc: Detailed IPv4 and General TCP data coalescing
> virtio-net rsc: Create timer to drain the packets from the cache pool
> virtio-net rsc: IPv4 checksum
> virtio-net rsc: Checking TCP flag and drain specific connection
> packets
> virtio-net rsc: Sanity check & More bypass cases check
> virtio-net rsc: Add IPv6 support
> virtio-net rsc: Add Receive Segment Coalesce statistics
>
> hw/net/virtio-net.c | 626
> ++++++++++++++++++++++++++++++++++++++++-
> include/hw/virtio/virtio-net.h | 1 +
> include/hw/virtio/virtio.h | 65 +++++
> 3 files changed, 691 insertions(+), 1 deletion(-)
>
> --
> 2.4.0
- [Qemu-devel] [RFC Patch v2 04/10] virtio-net rsc: Detailed IPv4 and General TCP data coalescing, (continued)
- [Qemu-devel] [RFC Patch v2 04/10] virtio-net rsc: Detailed IPv4 and General TCP data coalescing, wexu, 2016/01/31
- [Qemu-devel] [RFC Patch v2 03/10] virtio-net rsc: Chain Lookup, Packet Caching and Framework of IPv4, wexu, 2016/01/31
- [Qemu-devel] [RFC Patch v2 05/10] virtio-net rsc: Create timer to drain the packets from the cache pool, wexu, 2016/01/31
- [Qemu-devel] [RFC Patch v2 06/10] virtio-net rsc: IPv4 checksum, wexu, 2016/01/31
- [Qemu-devel] [RFC Patch v2 07/10] virtio-net rsc: Checking TCP flag and drain specific connection packets, wexu, 2016/01/31
- [Qemu-devel] [RFC Patch v2 08/10] virtio-net rsc: Sanity check & More bypass cases check, wexu, 2016/01/31
- [Qemu-devel] [RFC Patch v2 09/10] virtio-net rsc: Add IPv6 support, wexu, 2016/01/31
- [Qemu-devel] [RFC Patch v2 10/10] virtio-net rsc: Add Receive Segment Coalesce statistics, wexu, 2016/01/31
- Re: [Qemu-devel] [RFC v2 0/10] Support Receive-Segment-Offload(RSC) for WHQL test of Window guest,
Michael S. Tsirkin <=
- Re: [Qemu-devel] [RFC v2 0/10] Support Receive-Segment-Offload(RSC) for WHQL test of Window guest, Jason Wang, 2016/01/31