Bug 1431717 - [RFE] Implement TSO for OVS-DPDK
Summary: [RFE] Implement TSO for OVS-DPDK
Keywords:
Status: ASSIGNED
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openvswitch
Version: 10.0 (Newton)
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: Alpha
: ---
Assignee: Mike Pattrick
QA Contact: Ofer Blaut
URL:
Whiteboard:
: 1820296 (view as bug list)
Depends On: 1860224 1860228
Blocks: 1820296
TreeView+ depends on / blocked
 
Reported: 2017-03-13 16:14 UTC by Andreas Karis
Modified: 2023-08-03 04:00 UTC (History)
27 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-06-07 17:41:39 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker NFV-641 0 None None None 2022-02-16 06:33:34 UTC
Red Hat Issue Tracker OSP-1469 0 None None None 2021-11-30 10:34:42 UTC

Description Andreas Karis 2017-03-13 16:14:19 UTC
Description of problem:
Instances on OVS DPDK currently cannot enable TSO (TCP segment offload), which greatly lowers their performance, making OVS-DPDK possibly a worse choice than not using it at all.

The way we test with iperf3 is using TCP protocol, and currently DPDK doesn’t support TSO (TCP Segmentation offload) based on this link:
https://bugs.launchpad.net/devstack/+bug/1651727

DPDK: Inter VM communication of iperf3 TCP throughput is very low on same host compare to non DPDK throughput

The root cause of the issue is that currently ovs-dpdk does not support TSO offload. With the offload enable, the throughput will be lower than traditional path.

In my opinion, we'd need to get the following into OVS-DPDK ASAP:
https://mail.openvswitch.org/pipermail/ovs-dev/2016-June/316414.html
https://ovs2016.sched.com/event/8aZf/optimizing-communications-grade-tcp-workloads-in-an-ovs-based-nfv-deployment-mark-kavanagh-intel
https://www.youtube.com/watch?v=hEP0_Bd3wrA

Thanks,

Andreas

Comment 9 Vijay Chundury 2017-04-24 11:02:02 UTC
Adding Yogi to this BZ to understand the feature, impact on installer if any and possible documentation from NFV-DFG that might be required for tuning/perf evaluation.

Comment 23 Flavio Leitner 2019-10-02 13:38:43 UTC
Intel followed up with a new patchset here:
https://mail.openvswitch.org/pipermail/ovs-dev/2019-September/362573.html

I proposed another approach, which is much less intrusive to OvS and doesn't have any performance impact on MTU-sized packets:
https://mail.openvswitch.org/pipermail/ovs-dev/2019-September/362881.html

Comment 25 Flavio Leitner 2019-10-02 13:41:52 UTC
Patch posted to DPDK dev:
http://mails.dpdk.org/archives/dev/2019-October/145593.html

Comment 26 Flavio Leitner 2019-10-24 16:41:43 UTC
The patch in comment#25 is merged.
I found a csum bug while working on the OvS side, fixed posted:
http://mails.dpdk.org/archives/dev/2019-October/148718.html

OvS side:
The draft patch shows 3.3x gain when pushing from VM to an external host and 3.5x between VMs in the same host.
ovs-tcpdump is working as well.

fbl

Comment 27 Flavio Leitner 2019-12-02 13:55:43 UTC
Posted upstream for review (proposed as experimental feature)
https://mail.openvswitch.org/pipermail/ovs-dev/2019-December/365350.html

Comment 28 Flavio Leitner 2020-01-09 14:52:53 UTC
Posted v3 today:
https://mail.openvswitch.org/pipermail/ovs-dev/2020-January/366673.html

Comment 29 Flavio Leitner 2020-01-10 13:08:02 UTC
Note to myself: from Ciara on the Mailing list:
TSO appears to be broken for some cases on i40e: https://bugs.dpdk.org/show_bug.cgi?id=373
Patch: https://github.com/Mic92/dpdk/commit/2dc9b8dd2c8e2eb71f216b5b9222a4deb57482c9

Comment 30 Flavio Leitner 2020-04-08 12:54:12 UTC
Current status:

The TSO patchset has been merged for OvS 2.13 as experimental and it works with physical and vhost-user ports along with veth and tap ports.

However, there is no fall back in software which means that there is no support for mixing ports with and without TSO. Therefore, all VMs need to support TSO enabled at this point.

Comment 31 Flavio Leitner 2020-07-17 18:13:26 UTC
The initial support is included in 2.13 as experimental.
It still needs encapsulation support and having ports with TSO disabled, so moving back to assigned.

Comment 40 Karrar Fida 2021-09-23 14:09:19 UTC
*** Bug 1820296 has been marked as a duplicate of this bug. ***

Comment 41 spower 2021-11-30 10:32:00 UTC
This missed the Nov 25th deadlinet o be included in OSP 17, needs to go through the exception process to be included in OSP17 from here.

Comment 44 spower 2022-04-13 09:06:01 UTC
Removing the rhos-18.0 flag as this RFE has no PM or QE acks. Please add the correct acks to retarget this bug to OSP 18

Comment 56 Mike Pattrick 2023-08-01 14:19:12 UTC
Hello Gurpreet, the full TSO patch set hasn't been accepted into upstream yet.


Note You need to log in before you can comment on or make changes to this bug.