eal: replace blacklist/whitelist options
[dpdk.git] / doc / guides / tools / comp_perf.rst
index 55ccf90..9d2f4db 100644 (file)
@@ -6,14 +6,24 @@ 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),
+compress tree. User can use multiple cores to run tests on but only
+one type of compression PMD can be measured during single application
+execution. 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).
+to check the throughput rate (showing cycles/iteration, cycles/Byte and Gbps,
+for compression and decompression).
+Another option: ``pmd-cyclecount``, gives the user the opportunity to measure
+the number of cycles per operation for the 3 phases: setup, enqueue_burst and
+dequeue_burst, for both compression and decompression. An optional delay can be
+inserted between enqueue and dequeue so no cycles are wasted in retries while
+waiting for a hardware device to finish. Although artificial, this allows
+to measure the minimum offload cost which could be achieved in a perfectly
+tuned system. Comparing the results of the two tests gives information about
+the trade-off between throughput and cycle-count.
 
 .. Note::
 
@@ -26,11 +36,35 @@ Limitations
 
 * Stateful operation is not supported in this version.
 
+EAL Options
+~~~~~~~~~~~
+
+The following are the EAL command-line options that can be used in conjunction
+with the ``dpdk-test-compress-perf`` application.
+See the DPDK Getting Started Guides for more information on these options.
+
+*   ``-c <COREMASK>`` or ``-l <CORELIST>``
+
+       Set the hexadecimal bitmask of the cores to run on. The corelist is a
+       list cores to use.
+
+.. Note::
+
+       One lcore is needed for process admin, tests are run on all other cores.
+       To run tests on two lcores, three lcores must be passed to the tool.
+
+*   ``-a <PCI>``
 
-Command line options
---------------------
+       Add a PCI device in allow list.
 
- ``--ptest [benchmark/verify]``: set test type (default: benchmark)
+*   ``--vdev <driver><id>``
+
+       Add a virtual device.
+
+Application Options
+~~~~~~~~~~~~~~~~~~~
+
+ ``--ptest [throughput/verify/pmd-cyclecount]``: set test type (default: throughput)
 
  ``--driver-name NAME``: compress driver to use
 
@@ -56,19 +90,11 @@ Command line options
 
  ``--window-sz N``: base two log value of compression window size (default: max supported by PMD)
 
- ``-h``: prints this help
-
-
-Compiling the Tool
-------------------
+ ``--external-mbufs``: allocate and use memzones as external buffers instead of keeping the data directly in mbuf areas
 
-**Step 1: PMD setting**
+ ``--cc-delay-us N``: delay between enqueue and dequeue operations in microseconds, valid only for the cyclecount test (default: 500 us)
 
-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
+ ``-h``: prints this help
 
 
 Running the Tool
@@ -78,5 +104,5 @@ 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
+   ./<build_dir>/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