summaryrefslogtreecommitdiff
path: root/Documentation/howto
diff options
context:
space:
mode:
authorDavid Marchand <david.marchand@redhat.com>2021-11-10 17:53:41 +0100
committerIlya Maximets <i.maximets@ovn.org>2022-01-11 21:34:56 +0100
commitb84386fa9ac801adad6e725e0de43d9340619e67 (patch)
tree31a2cbab1e5925622a3c3ae6eee596c2c6dc70ae /Documentation/howto
parent356f3620686a557d0e8976cdf73472f03d4f4d07 (diff)
downloadopenvswitch-b84386fa9ac801adad6e725e0de43d9340619e67.tar.gz
dpdk: Support running PMD threads on any core.
Previously in OVS, a PMD thread running on cpu X used lcore X. This assumption limited OVS to run PMD threads on physical cpu < RTE_MAX_LCORE. DPDK 20.08 introduced a new API that associates a non-EAL thread to a free lcore. This new API does not change the thread characteristics (like CPU affinity) and let OVS run its PMD threads on any cpu regardless of RTE_MAX_LCORE. The DPDK multiprocess feature is not compatible with this new API and is disabled. DPDK still limits the number of lcores to RTE_MAX_LCORE (128 on x86_64) which should be enough for OVS pmd threads (hopefully). DPDK lcore/OVS pmd threads mapping are logged at threads when trying to attach a OVS PMD thread, and when detaching. A new command is added to help get DPDK point of view of the DPDK lcores at any time: $ ovs-appctl dpdk/lcore-list lcore 0, socket 0, role RTE, cpuset 0 lcore 1, socket 0, role NON_EAL, cpuset 1 lcore 2, socket 0, role NON_EAL, cpuset 15 Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Kevin Traynor <ktraynor@redhat.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Diffstat (limited to 'Documentation/howto')
-rw-r--r--Documentation/howto/dpdk.rst5
1 files changed, 5 insertions, 0 deletions
diff --git a/Documentation/howto/dpdk.rst b/Documentation/howto/dpdk.rst
index 70b64881a..81f236d3b 100644
--- a/Documentation/howto/dpdk.rst
+++ b/Documentation/howto/dpdk.rst
@@ -402,6 +402,11 @@ Supported actions for hardware offload are:
- Clone/output (tnl_push and output) for encapsulating over a tunnel.
- Tunnel pop, for packets received on physical ports.
+Multiprocess
+------------
+
+This DPDK feature is not supported and disabled during OVS initialization.
+
Further Reading
---------------