> > From: Nic Chautru <nicolas.chau...@intel.com> > > Update related to the changes introduced by the > previous commits. > > Signed-off-by: Nic Chautru <nicolas.chau...@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 > +