diff options
author | Harry van Haaren <harry.van.haaren@intel.com> | 2020-07-13 13:42:15 +0100 |
---|---|---|
committer | Ian Stokes <ian.stokes@intel.com> | 2020-07-13 14:55:48 +0100 |
commit | 842c363050b1099f272c8626ff1c89536e5f5c75 (patch) | |
tree | 525a365d325c254ced53ee7bd87fba24166abde0 /Documentation/intro | |
parent | 352b6c7116cdc096c879fc4fa9ed5fe9c2ccef3b (diff) | |
download | openvswitch-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.rst | 30 |
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 ----- |