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