From: Tomasz Jozwiak Date: Wed, 12 Dec 2018 12:08:03 +0000 (+0100) Subject: doc: add details for compress-perf app X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=73d9a4c9d012b040714e28fe96be763f7e162a5b;p=dpdk.git doc: add details for compress-perf app Added: - initial version of compression performance test description file. - release note in release_18_11.rst Updated index.rst file Signed-off-by: Pablo de Lara Signed-off-by: Tomasz Jozwiak Acked-by: Fiona Trahe Acked-by: Lee Daly Acked-by: Shally Verma --- diff --git a/MAINTAINERS b/MAINTAINERS index cff9ebdf0b..5464b722ee 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1240,6 +1240,11 @@ M: Bernard Iremonger F: app/test-pmd/ F: doc/guides/testpmd_app_ug/ +Compression performance test application +M: Pablo De Lara Guarch +F: app/test-compress-perf/ +F: doc/guides/tools/comp_perf.rst + Crypto performance test application M: Declan Doherty F: app/test-crypto-perf/ diff --git a/doc/guides/rel_notes/release_19_02.rst b/doc/guides/rel_notes/release_19_02.rst index 8deb68b9a3..037db06f36 100644 --- a/doc/guides/rel_notes/release_19_02.rst +++ b/doc/guides/rel_notes/release_19_02.rst @@ -60,6 +60,12 @@ New Features * Added the handler to get firmware version string. * Added support for multicast filtering. +* **Added a compression performance test tool.** + + Added a new performance test tool to test the compressdev PMD. The tool tests + compression ratio and compression throughput. Dynamic compression test is not + supported yet. + Removed Items ------------- diff --git a/doc/guides/tools/comp_perf.rst b/doc/guides/tools/comp_perf.rst new file mode 100644 index 0000000000..52372f4bd8 --- /dev/null +++ b/doc/guides/tools/comp_perf.rst @@ -0,0 +1,80 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2018 Intel Corporation. + +dpdk-test-compress-perf Tool +============================ + +The ``dpdk-test-compress-perf`` tool is a Data Plane Development Kit (DPDK) +utility that allows measuring performance parameters of PMDs available in the +compress tree. The tool reads the data from a file (--input-file), +dumps all the file into a buffer and fills out the data of input mbufs, +which are passed to compress device with compression operations. +Then, the output buffers are fed into the decompression stage, and the resulting +data is compared against the original data (verification phase). After that, +a number of iterations are performed, compressing first and decompressing later, +to check the throughput rate +(showing cycles/iteration, cycles/Byte and Gbps, for compression and decompression). + +.. Note:: + + if the max-num-sgl-segs x seg_sz > input size then segments number in + the chain will be lower than value passed into max-num-sgl-segs. + + +Limitations +~~~~~~~~~~~ + +* Stateful operation and dynamic compression are not supported in this version. + + +Command line options +-------------------- + + ``--driver-name NAME``: compress driver to use + + ``--input-file NAME``: file to compress and decompress + + ``--extended-input-sz N``: extend file data up to this size (default: no extension) + + ``--seg-sz N``: size of segment to store the data (default: 2048) + + ``--burst-sz N``: compress operation burst size + + ``--pool-sz N``: mempool size for compress operations/mbufs (default: 8192) + + ``--max-num-sgl-segs N``: maximum number of segments for each mbuf (default: 16) + + ``--num-iter N``: number of times the file will be compressed/decompressed (default: 10000) + + ``--operation [comp/decomp/comp_and_decomp]``: perform test on compression, decompression or both operations + + ``--huffman-enc [fixed/default]``: Huffman encoding (default: fixed) + + ``--compress-level N``: compression level, which could be a single value, list or range (default: range between 1 and 9) + + ``--window-sz N``: base two log value of compression window size (default: max supported by PMD) + + ``-h``: prints this help + + +Compiling the Tool +------------------ + +**Step 1: PMD setting** + +The ``dpdk-test-compress-perf`` tool depends on compression device drivers PMD which +can be disabled by default in the build configuration file ``common_base``. +The compression device drivers PMD which should be tested can be enabled by setting e.g.:: + + CONFIG_RTE_LIBRTE_PMD_ISAL=y + + +Running the Tool +---------------- + +The tool has a number of command line options. Here is the sample command line: + +.. code-block:: console + + ./build/app/dpdk-test-compress-perf -l 4 -- --driver-name compress_qat --input-file test.txt --seg-sz 8192 + --compress-level 1:1:9 --num-iter 10 --extended-input-sz 1048576 --max-num-sgl-segs 16 --huffman-enc fixed diff --git a/doc/guides/tools/index.rst b/doc/guides/tools/index.rst index a6e2c4c71b..4908e96efc 100644 --- a/doc/guides/tools/index.rst +++ b/doc/guides/tools/index.rst @@ -41,4 +41,5 @@ DPDK Tools User Guides devbind testbbdev cryptoperf + comp_perf testeventdev