[dpdk-dev] [PATCH v3 11/14] doc: update of testbbdev documentation

Akhil Goyal akhil.goyal at nxp.com
Wed Mar 25 15:48:48 CET 2020


> 
> From: Nic Chautru <nicolas.chautru at intel.com>
> 
> Update related to the changes introduced by the
> previous commits.
> 
> Signed-off-by: Nic Chautru <nicolas.chautru at intel.com>
> ---

Please split this patch and merge the relevant sections in the respective patches.

And it would be better to add reference to the Standards which were followed.

>  doc/guides/tools/testbbdev.rst | 337
> +++++++++++++++++++++++++++++++++++------
>  1 file changed, 291 insertions(+), 46 deletions(-)
> 
> diff --git a/doc/guides/tools/testbbdev.rst b/doc/guides/tools/testbbdev.rst
> index 7e95696..016f3f9 100644
> --- a/doc/guides/tools/testbbdev.rst
> +++ b/doc/guides/tools/testbbdev.rst
> @@ -6,9 +6,9 @@ dpdk-test-bbdev Application
> 
>  The ``dpdk-test-bbdev`` tool is a Data Plane Development Kit (DPDK) utility that
>  allows measuring performance parameters of PMDs available in the bbdev
> framework.
> -Available tests available for execution are: latency, throughput, validation and
> -sanity tests. Execution of tests can be customized using various parameters
> -passed to a python running script.
> +Available tests available for execution are: latency, throughput, validation,
> +bler and sanity tests. Execution of tests can be customized using various
> +parameters passed to a python running script.
> 
>  Compiling the Application
>  -------------------------
> @@ -47,6 +47,8 @@ The tool application has a number of command line
> options:
>                         [-c TEST_CASE [TEST_CASE ...]]
>                         [-v TEST_VECTOR [TEST_VECTOR...]] [-n NUM_OPS]
>                         [-b BURST_SIZE [BURST_SIZE ...]] [-l NUM_LCORES]
> +                       [-t MAX_ITERS [MAX_ITERS ...]]
> +                       [-s SNR [SNR ...]]
> 
>  command-line Options
>  ~~~~~~~~~~~~~~~~~~~~
> @@ -106,10 +108,18 @@ The following are the command-line options:
>   Specifies operations enqueue/dequeue burst size. If not specified burst_size is
>   set to 32. Maximum is 512.
> 
> +``-t MAX_ITERS [MAX_ITERS ...], --iter_max MAX_ITERS [MAX_ITERS ...]``
> + Specifies LDPC decoder operations maximum number of iterations for
> throughput
> + and bler tests. If not specified iter_max is set to 6.
> +
> +``-s SNR [SNR ...], --snr SNR [SNR ...]``
> + Specifies for LDPC decoder operations the SNR in dB used when generating
> LLRs
> + for bler tests. If not specified snr is set to 0 dB.
> +
>  Test Cases
>  ~~~~~~~~~~
> 
> -There are 6 main test cases that can be executed using testbbdev tool:
> +There are 7 main test cases that can be executed using testbbdev tool:
> 
>  * Sanity checks [-c unittest]
>      - Performs sanity checks on BBDEV interface, validating basic functionality
> @@ -149,6 +159,11 @@ There are 6 main test cases that can be executed using
> testbbdev tool:
>      - Results are printed in million operations per second and million bits
>        per second
> 
> +* BLER measurement [-c bler]
> +    - Performs full operation of enqueue and dequeue
> +    - Measures the achieved throughput on a subset or all available CPU cores
> +    - Computed BLER in % based on the total number of operations.
> +
Full form of BLER/LDPC should be explained atleast once


>  * Interrupt-mode Throughput [-c interrupt]
>      - Similar to Throughput test case, but using interrupts. No polling.
> 
> @@ -159,7 +174,7 @@ Parameter Globbing
>  Thanks to the globbing functionality in python test-bbdev.py script allows to
>  run tests with different set of vector files without giving all of them explicitly.
> 
> -**Example usage:**
> +**Example usage for 4G:**
> 
>  .. code-block:: console
> 
> @@ -221,6 +236,11 @@ It runs all tests with "default" vectors.
>  * ``turbo_enc_default.data`` is a soft link to
>    ``turbo_enc_c1_k6144_r0_e32256_crc24b_rm.data``
> 
> +* ``ldpc_dec_default.data`` is a soft link to
> +  ``ldpc_dec_v6563.data``
> +
> +* ``ldpc_enc_default.data`` is a soft link to
> +  ``ldpc_enc_c1_k8148_r0_e9372_rm.data``
> 
>  Running Tests
>  -------------
> @@ -254,6 +274,38 @@ x86_64-native-linux-icc target:
>               |-- turbo_dec_c1_k6144_r0_e34560_posllr.data
>               |-- turbo_enc_c1_k40_r0_e1194_rm.data
>               |-- turbo_enc_c1_k6144_r0_e32256_crc24b_rm.data
> +             |-- ldpc_enc_v9503.data
> +             |-- ldpc_enc_v8568.data
> +             |-- ldpc_enc_v7813.data
> +             |-- ldpc_enc_v2342.data
> +             |-- ldpc_enc_v11835.data
> +             |-- ldpc_dec_v8568.data
> +             |-- ldpc_dec_v8480.data
> +             |-- ldpc_dec_v7813.data
> +             |-- ldpc_dec_v2342_drop.data
> +             |-- ldpc_dec_v11835.data
> +             |-- ldpc_dec_HARQ_1_2.data
> +             |-- ldpc_dec_HARQ_1_1.data
> +             |-- ldpc_dec_HARQ_1_0.data
> +             |-- ldpc_enc_v8568_crc24a.data
> +             |-- ldpc_enc_v3964_rv1.data
> +             |-- ldpc_enc_c1_k8148_r0_e9372_rm.data
> +             |-- ldpc_enc_c1_k720_r0_e864_rm_crc24b.data
> +             |-- ldpc_enc_c1_k720_r0_e832_rm.data
> +             |-- ldpc_enc_c1_k330_r0_e360_rm.data
> +             |-- ldpc_enc_c1_k1144_r0_e1380_rm_crc24b.data
> +             |-- ldpc_enc_c1_k1144_r0_e1380_rm.data
> +             |-- ldpc_dec_vcrc_fail.data
> +             |-- ldpc_dec_v8568_low.data
> +             |-- ldpc_dec_v14298.data
> +             |-- ldpc_dec_HARQ_26449_1.loopback_w
> +             |-- ldpc_dec_HARQ_1_3.data
> +             |-- ldpc_enc_v2570_lbrm.data
> +             |-- ldpc_dec_v9503.data
> +             |-- ldpc_dec_v6563.data
> +             |-- ldpc_dec_HARQ_3_1_harq_comp.data
> +             |-- ldpc_dec_HARQ_2_1_llr_comp.data
> +             |-- ldpc_dec_HARQ_26449_1.loopback_r
> 

It would be better to explain somewhere about these different types
Of tests or atleast a reference about what they are for.
'
>   |-- x86_64-native-linux-icc
>       |-- app
> @@ -280,7 +332,7 @@ baseband turbo_sw device
> 
>    ./test-bbdev.py -p ../../x86_64-native-linux-icc/app/testbbdev
>    -e="--vdev=baseband_turbo_sw" -t 120 -c validation
> -  -v ./test_vectors/turbo_* -n 64 -b 8 32
> +  -v ./test_vectors/* -n 64 -b 8 32
> 




> -- ``RTE_BBDEV_TURBO_RV_INDEX_BYPASS``
> +Chain of operation statuses that are expected after operation is performed.
> +Following statuses can be used:
> 
> -- ``RTE_BBDEV_TURBO_RATE_MATCH``
> +- ``DMA``
> 
> -- ``RTE_BBDEV_TURBO_CRC_24B_ATTACH``
> +- ``FCW``
> 
> -- ``RTE_BBDEV_TURBO_CRC_24A_ATTACH``
> +- ``OK``
> 
> -- ``RTE_BBDEV_TURBO_ENC_SCATTER_GATHER``
> +``OK`` means no errors are expected. Cannot be used with other values.
> 
> -``RTE_BBDEV_TURBO_ENC_SCATTER_GATHER`` is used to indicate the parser
> to
> -force the input data to be memory split and formed as a segmented mbuf.

Explanation for each status should be explained here.

> +.. parsed-literal::
> +
> +    expected_status =
> +    OK




> +Example:
> +
> +    .. parsed-literal::
> +
> +        op_flags =
> +        RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE,
> RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE,
> +        RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE,
> RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION
> +
> +Chain of operation statuses that are expected after operation is performed.
> +Following statuses can be used:
> +
> +- ``SYNCRC``

Explanation missing for these statuses.

> +
> +- ``SYN``
> +
> +- ``CRC``
> +
> +- ``OK``
> +
> +``OK`` means no errors are expected. Cannot be used with other values.
> +
> +.. parsed-literal::
> +
> +    expected_status =
> +    CRC
> +


More information about the dev mailing list