[ovs-dev] [PATCH v2] tunneling: Improving tunneling performance using DPDK Rx checksum offloading feature.

Jesse Gross jesse at kernel.org
Fri May 6 00:57:51 UTC 2016


On Thu, May 5, 2016 at 1:26 AM, Chandran, Sugesh
<sugesh.chandran at intel.com> wrote:
>> -----Original Message-----
>> From: Jesse Gross [mailto:jesse at kernel.org]
>> Sent: Wednesday, May 4, 2016 10:06 PM
>> To: Chandran, Sugesh <sugesh.chandran at intel.com>
>> Cc: pravin shelar <pshelar at ovn.org>; ovs dev <dev at 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.chandran at intel.com> wrote:
>> >> -----Original Message-----
>> >> From: Jesse Gross [mailto:jesse at kernel.org]
>> >> Sent: Thursday, April 28, 2016 4:41 PM
>> >> To: Chandran, Sugesh <sugesh.chandran at intel.com>
>> >> Cc: pravin shelar <pshelar at ovn.org>; ovs dev <dev at 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.



More information about the dev mailing list