Regards
_Sugesh

> -----Original Message-----
> From: Jesse Gross [mailto:je...@kernel.org]
> Sent: Friday, May 6, 2016 5:00 PM
> To: Chandran, Sugesh <sugesh.chand...@intel.com>
> Cc: pravin shelar <pshe...@ovn.org>; ovs dev <dev@openvswitch.org>
> Subject: Re: [ovs-dev] [PATCH v2] tunneling: Improving tunneling
> performance using DPDK Rx checksum offloading feature.
> 
> On Fri, May 6, 2016 at 1:13 AM, Chandran, Sugesh
> <sugesh.chand...@intel.com> wrote:
> >> -----Original Message-----
> >> From: Jesse Gross [mailto:je...@kernel.org]
> >> Sent: Friday, May 6, 2016 1:58 AM
> >> To: Chandran, Sugesh <sugesh.chand...@intel.com>
> >> Cc: pravin shelar <pshe...@ovn.org>; ovs dev <dev@openvswitch.org>
> >> Subject: Re: [ovs-dev] [PATCH v2] tunneling: Improving tunneling
> >> performance using DPDK Rx checksum offloading feature.
> >>
> >> On Thu, May 5, 2016 at 1:26 AM, Chandran, Sugesh
> >> <sugesh.chand...@intel.com> wrote:
> >> >> -----Original Message-----
> >> >> From: Jesse Gross [mailto:je...@kernel.org]
> >> >> Sent: Wednesday, May 4, 2016 10:06 PM
> >> >> To: Chandran, Sugesh <sugesh.chand...@intel.com>
> >> >> Cc: pravin shelar <pshe...@ovn.org>; ovs dev
> <dev@openvswitch.org>
> >> >> Subject: Re: [ovs-dev] [PATCH v2] tunneling: Improving tunneling
> >> >> performance using DPDK Rx checksum offloading feature.
> >> >>
> >> >> On Wed, May 4, 2016 at 8:58 AM, Chandran, Sugesh
> >> >> <sugesh.chand...@intel.com> wrote:
> >> >> >> -----Original Message-----
> >> >> >> From: Jesse Gross [mailto:je...@kernel.org]
> >> >> >> Sent: Thursday, April 28, 2016 4:41 PM
> >> >> >> To: Chandran, Sugesh <sugesh.chand...@intel.com>
> >> >> >> Cc: pravin shelar <pshe...@ovn.org>; ovs dev
> >> <dev@openvswitch.org>
> >> >> >> Subject: Re: [ovs-dev] [PATCH v2] tunneling: Improving
> >> >> >> tunneling performance using DPDK Rx checksum offloading feature.
> >> >> >
> >> >> >> That sounds great, thanks for following up. In the meantime, do
> >> >> >> you have any plans for transmit side checksum offloading?
> >> >> > [Sugesh] The vectorization on Tx side is getting disabled when
> >> >> > DPDK Tx
> >> >> checksum offload is enabled. This causes performance drop in OVS.
> >> >> > However We don’t find any such impact when enabling Rx checksum
> >> >> offloading(though this disables Rx vectorization).
> >> >>
> >> >> OK, I see. Does the drop in throughput cause performance to go
> >> >> below the baseline even for UDP tunnels with checksum traffic? (I
> >> >> guess small and large packets might have different results here.)
> >> >> Or is it that it reduce performance for unrelated traffic? If it's
> >> >> the latter case, can we find a way to use offloading conditionally?
> >> > [Sugesh] We tested for 64 byte UDP packet stream and found that the
> >> > performance is better when the offloading is turned off. This is
> >> > for any
> >> traffic through the port.
> >> > DPDK doesn’t support conditional offloading for now.
> >> > In other words DPDK can't do selective vector packet processing on a
> port.
> >> > As far as I know there are some technical difficulties to enable
> >> > offload + vectorization together in DPDK.
> >>
> >> My guess is the results might be different for larger packets since
> >> those cases will stress checksumming more and rx/tx routines less.
> >>
> >> In any case, I think this is an area that is worthwhile to continue
> investigating.
> >> My expectation is that tunneled packets with outer UDP checksums will
> >> be a use case that is hit increasingly frequently with OVS DPDK - for
> >> example, OVN will likely start exercising this soon.
> > [Sugesh]Totally agreed, I will do PHY-PHY, PHY-TUNNEL-PHY tests with
> > different size traffic
> > streams(64 Byte, 512, 1024, 1500) when checksum enabled/disabled and
> see the impact.
> > Is there any other traffic pattern/tests that we have to consider?
> 
> I think that should cover it pretty well. Thanks a lot!
[Sugesh] Please find below for the test results in different scenarios.

Native(Rx, Tx checksum offloading OFF)
Test                    64 Bytes        128 Bytes       256 Bytes       512 
Bytes       1500 bytes      Mix
PHY-PHY-BIDIR           9.2             8.445           4.528           2.349   
        0.822           6.205
PHY-VM-PHY-BIDIR        2.564           2.503           2.205           1.901   
        0.822           2.29
PHY-VXLAN-PHY   4.165           4.084           3.834           2.147           
0.849           3.964
                                                
                                                
Rx Checksum ON/Rx Vector OFF                                            
                                                
Test                    64 Bytes        128 Bytes       256 Bytes       512 
Bytes       1500 bytes      Mix
PHY-PHY-BIDIR           9.12            8.445           4.528           2.349   
        0.822           6.205
PHY-VM-PHY-BIDIR        2.535           2.513           2.21            1.913   
        0.822           2.25
PHY-VXLAN-PHY   4.475           4.47            3.834           2.147           
0.849           4.4
                                                
                                                
                                                
Tx Checksum ON/Tx Vector OFF                                            
                                                
Test                    64 Bytes        128 Bytes       256 Bytes       512 
Bytes       1500 bytes      Mix
PHY-PHY-BIDIR           7.89            7.935           4.528           2.349   
        0.822           6.205
PHY-VM-PHY-BIDIR        2.455           2.401           2.118           1.855   
        0.822           2.2
PHY-VXLAN-PHY   3.347           3.301           3.185           2.147           
0.849           3.218
                                                
                                                
                                                
Rx, Tx Checksum ON/Rx, Tx Vector OFF                                            
Test                    64 Bytes        128 Bytes       256 Bytes       512 
Bytes       1500 bytes      Mix
PHY-PHY-BIDIR           7.75            7.74            4.528           2.349   
        0.822           6.205
PHY-VM-PHY-BIDIR        2.44            2.401           2.141           1.862   
        0.822           2.21
PHY-VXLAN-PHY   3.53            3.53            3.53            2.147           
0.849           3.52

Findings:- 
1) For bigger packet sizes, (<= 256 bytes) the performance numbers are almost 
the same in all the scenarios.
2) Tx checksum offload doesn’t give any performance improvement in all the 
case. In fact in some scenarios, it shows low performance compared to native.
3) Rx checksum offload provide tunneling performance improvement mainly on 
small sized packets.

Please let me know your comments/thoughts on this?

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to