[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [ RFC Patch v4 0/3] Support Receive-Segment-Offload(RSC
From: |
Jason Wang |
Subject: |
Re: [Qemu-devel] [ RFC Patch v4 0/3] Support Receive-Segment-Offload(RSC) for WHQL |
Date: |
Tue, 5 Apr 2016 10:52:17 +0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 |
On 04/04/2016 03:25 AM, address@hidden wrote:
> From: Wei Xu <address@hidden>
>
> Changes in V4:
> - Add new host feature bit
> - Replace using fixed header lenght with dynamic header lenght in VirtIONet
> - Change ip/ip6 header union in NetRscUnit to void* pointer
> - Add macro prefix, adjust code indent, etc.
Looks good, just few comments.
It's also better to have a unit test for this.
>
> Changes in V3:
> - Removed big param list, replace it with 'NetRscUnit'
> - Different virtio header size
> - Modify callback function to direct call.
> - Needn't check the failure of g_malloc()
> - Other code format adjustment, macro naming, etc
>
> Changes in 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 1.5x to 2x performance improvement to
> userspace virtio, this is done by turning this feature on and disable
> 'tso/gso/gro' on corresponding tap interface and guest interface, while get
> less improment with all these feature on.
>
> Linux guest performance data(Netperf):
> MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
> 192.168.2.101 () port 0 AF_INET : nodelay
> Size Size Size Time Throughput
> bytes bytes bytes secs. 10^6bits/sec
>
> 87380 16384 64 6.00 1221.20
> 87380 16384 64 6.00 1260.30
>
> 87380 16384 128 6.00 1978.51
> 87380 16384 128 6.00 2286.05
>
> 87380 16384 256 6.00 2677.94
> 87380 16384 256 6.00 4615.42
>
> 87380 16384 512 6.00 2956.54
> 87380 16384 512 6.00 5356.39
>
> 87380 16384 1024 6.00 2798.17
> 87380 16384 1024 6.00 4943.30
>
> 87380 16384 2048 6.00 2681.09
> 87380 16384 2048 6.00 4835.81
>
> 87380 16384 4096 6.00 3390.14
> 87380 16384 4096 6.00 5391.54
>
> 87380 16384 8092 6.00 3008.27
> 87380 16384 8092 6.00 5381.68
>
> 87380 16384 10240 6.00 2999.89
> 87380 16384 10240 6.00 5393.11
>
> 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 running 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 guests.
>
> 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, trying with a win debug binary
>
> 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.
>
> Todo:
> More sanity check and tcp 'ecn' and 'window' scale test.
>
> Wei Xu (3):
> virtio-net rsc: add a new host offload(rsc) feature bit
> virtio-net rsc: support coalescing ipv4 tcp traffic
> virtio-net rsc: support coalescing ipv6 tcp traffic
>
> hw/net/virtio-net.c | 642
> +++++++++++++++++++++++++++-
> include/hw/virtio/virtio-net.h | 1 +
> include/hw/virtio/virtio.h | 72 ++++
> include/standard-headers/linux/virtio_net.h | 1 +
> 4 files changed, 714 insertions(+), 2 deletions(-)
>
- Re: [Qemu-devel] [ RFC Patch v4 2/3] virtio-net rsc: support coalescing ipv4 tcp traffic, (continued)
Re: [Qemu-devel] [ RFC Patch v4 2/3] virtio-net rsc: support coalescing ipv4 tcp traffic, Michael S. Tsirkin, 2016/04/12
[Qemu-devel] [ RFC Patch v4 3/3] virtio-net rsc: support coalescing ipv6 tcp traffic, wexu, 2016/04/03
Re: [Qemu-devel] [ RFC Patch v4 0/3] Support Receive-Segment-Offload(RSC) for WHQL,
Jason Wang <=