diff mbox series

[ovs-dev,v7,08/14] docs/dpdk/bridge: Add dpif performance section.

Message ID 20201216181033.572425-9-harry.van.haaren@intel.com
State Superseded
Headers show
Series DPIF Generic Framework | expand

Commit Message

Van Haaren, Harry Dec. 16, 2020, 6:10 p.m. UTC
From: Cian Ferriter <cian.ferriter@intel.com>

This section details how two new commands can be used to list and select
the different dpif implementations. It also details how a non default
dpif implementation can be tested with the OVS unit test suite.

Add NEWS updates for the dpif-netdev.c refactor and the new dpif
implementations/commands.

Signed-off-by: Cian Ferriter <cian.ferriter@intel.com>
---
 Documentation/topics/dpdk/bridge.rst | 37 ++++++++++++++++++++++++++++
 NEWS                                 |  5 ++++
 2 files changed, 42 insertions(+)
diff mbox series

Patch

diff --git a/Documentation/topics/dpdk/bridge.rst b/Documentation/topics/dpdk/bridge.rst
index 526d5c959..ca90d7bdb 100644
--- a/Documentation/topics/dpdk/bridge.rst
+++ b/Documentation/topics/dpdk/bridge.rst
@@ -214,3 +214,40 @@  implementation ::
 
 Compile OVS in debug mode to have `ovs_assert` statements error out if
 there is a mis-match in the DPCLS lookup implementation.
+
+Datapath Interface Performance
+------------------------------
+
+The datapath interface (DPIF) or dp_netdev_input() is responsible for taking
+packets through the major components of the userspace datapath; such as
+miniflow_extract, EMC, SMC and DPCLS lookups, and a lot of the performance
+stats associated with the datapath.
+
+Just like with the SIMD DPCLS work above, SIMD can be applied to the DPIF to
+improve performance.
+
+OVS provides multiple implementations of the DPIF. These can be listed with the
+following command ::
+
+    $ ovs-appctl dpif-netdev/dpif-get
+    Available DPIF implementations:
+      dpif_scalar
+      dpif_avx512
+
+By default, dpif_scalar is used. The DPIF implementation can be selected by
+name ::
+
+    $ ovs-appctl dpif-netdev/dpif-set dpif_avx512
+    DPIF implementation set to dpif_avx512.
+
+    $ ovs-appctl dpif-netdev/dpif-set dpif_scalar
+    DPIF implementation set to dpif_scalar.
+
+Running Unit Tests with AVX512 DPIF
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Since the AVX512 DPIF is disabled by default, a compile time option is
+available in order to test it with the OVS unit test suite. When building with
+a CPU that supports AVX512, use the following configure option ::
+
+    $ ./configure --enable-dpif-default-avx512
diff --git a/NEWS b/NEWS
index 1a39cc661..30a3d8dbb 100644
--- a/NEWS
+++ b/NEWS
@@ -28,6 +28,11 @@  Post-v2.14.0
        OpenFlow bundle actions.
    - Support for GitHub Actions based continuous integration builds has been
      added.
+   - Userspace datapath:
+     * Refactor lib/dpif-netdev.c to multiple header files.
+     * Add avx512 implementation of dpif which can process non recirculated
+       packets. It supports partial HWOL, EMC, SMC and DPCLS lookups.
+     * Add commands to get and set the dpif implementations.
 
 
 v2.14.0 - 17 Aug 2020