summaryrefslogtreecommitdiff
path: root/Documentation/intro
diff options
context:
space:
mode:
authorHarry van Haaren <harry.van.haaren@intel.com>2020-07-13 13:42:15 +0100
committerIan Stokes <ian.stokes@intel.com>2020-07-13 14:55:48 +0100
commit842c363050b1099f272c8626ff1c89536e5f5c75 (patch)
tree525a365d325c254ced53ee7bd87fba24166abde0 /Documentation/intro
parent352b6c7116cdc096c879fc4fa9ed5fe9c2ccef3b (diff)
downloadopenvswitch-842c363050b1099f272c8626ff1c89536e5f5c75.tar.gz
docs/dpdk/bridge: add datapath performance section.
This commit adds a section to the dpdk/bridge.rst netdev documentation, detailing the added DPCLS functionality. The newly added commands are documented, and sample output is provided. Running the DPCLS autovalidator with unit tests by default is possible through re-compiling the autovalidator to have the highest priority at startup time. This avoids making changes to all tests, and enables debug and CI builds to validate every lookup implementation with all unit tests. Add NEWS updates for CPU ISA, dynamic subtables, and AVX512 lookup. Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: William Tu <u9012063@gmail.com> Signed-off-by: Ian Stokes <ian.stokes@intel.com>
Diffstat (limited to 'Documentation/intro')
-rw-r--r--Documentation/intro/install/dpdk.rst30
1 files changed, 30 insertions, 0 deletions
diff --git a/Documentation/intro/install/dpdk.rst b/Documentation/intro/install/dpdk.rst
index dbf88ec43..4d858304c 100644
--- a/Documentation/intro/install/dpdk.rst
+++ b/Documentation/intro/install/dpdk.rst
@@ -136,6 +136,16 @@ has to be configured to build against the DPDK library (``--with-dpdk``).
While ``--with-dpdk`` is required, you can pass any other configuration
option described in :ref:`general-configuring`.
+ It is strongly recommended to build OVS with at least ``-msse4.2`` and
+ ``-mpopcnt`` optimization flags. If these flags are not enabled, the AVX512
+ optimized DPCLS implementation is not available in the resulting binary.
+ For technical details see the subtable registration code in the
+ ``lib/dpif-netdev-lookup.c`` file.
+
+ An example that enables the AVX512 optimizations is::
+
+ $ ./configure --with-dpdk=$DPDK_BUILD CFLAGS="-Ofast -msse4.2 -mpopcnt"
+
#. Build and install OVS, as described in :ref:`general-building`
Additional information can be found in :doc:`general`.
@@ -147,6 +157,26 @@ Additional information can be found in :doc:`general`.
__ https://github.com/openvswitch/ovs/blob/master/rhel/README.RHEL.rst
+
+Possible issues when enabling AVX512
+++++++++++++++++++++++++++++++++++++
+
+The enabling of ISA optimized builds requires build-system support.
+Certain versions of the assembler provided by binutils is known to have
+AVX512 assembling issues. The binutils versions affected are 2.30 and 2.31.
+As many distros backport fixes to previous versions of a package, checking
+the version output of ``as -v`` can err on the side of disabling AVX512. To
+remedy this, the OVS build system uses a build-time check to see if ``as``
+will correctly assemble the AVX512 code. The output of a good version when
+running the ``./configure`` step of the build process is as follows::
+
+ $ checking binutils avx512 assembler checks passing... yes
+
+If a bug is detected in the binutils assembler, it would indicate ``no``.
+Build an updated binutils, or request a backport of this binutils
+fix commit ``2069ccaf8dc28ea699bd901fdd35d90613e4402a`` to fix the issue.
+
+
Setup
-----