Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/66276/?format=api
http://patches.dpdk.org/api/patches/66276/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/1583348102-13253-12-git-send-email-nicolas.chautru@intel.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<1583348102-13253-12-git-send-email-nicolas.chautru@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/1583348102-13253-12-git-send-email-nicolas.chautru@intel.com", "date": "2020-03-04T18:54:59", "name": "[v3,11/14] doc: update of testbbdev documentation", "commit_ref": null, "pull_url": null, "state": "changes-requested", "archived": true, "hash": "197fdfb84b29cde5601ac28f22ed464bc7597071", "submitter": { "id": 1314, "url": "http://patches.dpdk.org/api/people/1314/?format=api", "name": "Chautru, Nicolas", "email": "nicolas.chautru@intel.com" }, "delegate": { "id": 6690, "url": "http://patches.dpdk.org/api/users/6690/?format=api", "username": "akhil", "first_name": "akhil", "last_name": "goyal", "email": "gakhil@marvell.com" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/1583348102-13253-12-git-send-email-nicolas.chautru@intel.com/mbox/", "series": [ { "id": 8784, "url": "http://patches.dpdk.org/api/series/8784/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=8784", "date": "2020-03-04T18:54:48", "name": "bbdev new features", "version": 3, "mbox": "http://patches.dpdk.org/series/8784/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/66276/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/66276/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id CC42FA0573;\n\tWed, 4 Mar 2020 19:57:08 +0100 (CET)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 84F941C07F;\n\tWed, 4 Mar 2020 19:55:32 +0100 (CET)", "from mga18.intel.com (mga18.intel.com [134.134.136.126])\n by dpdk.org (Postfix) with ESMTP id B9EC51BFAE\n for <dev@dpdk.org>; Wed, 4 Mar 2020 19:55:16 +0100 (CET)", "from fmsmga002.fm.intel.com ([10.253.24.26])\n by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n 04 Mar 2020 10:55:13 -0800", "from skx-5gnr-sc12-4.sc.intel.com ([172.25.69.210])\n by fmsmga002.fm.intel.com with ESMTP; 04 Mar 2020 10:55:12 -0800" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.70,514,1574150400\"; d=\"scan'208\";a=\"274778276\"", "From": "Nicolas Chautru <nicolas.chautru@intel.com>", "To": "thomas@monjalon.net,\n\takhil.goyal@nxp.com,\n\tdev@dpdk.org", "Cc": "ferruh.yigit@intel.com,\n\tNic Chautru <nicolas.chautru@intel.com>", "Date": "Wed, 4 Mar 2020 10:54:59 -0800", "Message-Id": "<1583348102-13253-12-git-send-email-nicolas.chautru@intel.com>", "X-Mailer": "git-send-email 1.8.3.1", "In-Reply-To": "<1583348102-13253-1-git-send-email-nicolas.chautru@intel.com>", "References": "<1582778348-113547-15-git-send-email-nicolas.chautru@intel.com>\n <1583348102-13253-1-git-send-email-nicolas.chautru@intel.com>", "Subject": "[dpdk-dev] [PATCH v3 11/14] doc: update of testbbdev documentation", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "From: Nic Chautru <nicolas.chautru@intel.com>\n\nUpdate related to the changes introduced by the\nprevious commits.\n\nSigned-off-by: Nic Chautru <nicolas.chautru@intel.com>\n---\n doc/guides/tools/testbbdev.rst | 337 +++++++++++++++++++++++++++++++++++------\n 1 file changed, 291 insertions(+), 46 deletions(-)", "diff": "diff --git a/doc/guides/tools/testbbdev.rst b/doc/guides/tools/testbbdev.rst\nindex 7e95696..016f3f9 100644\n--- a/doc/guides/tools/testbbdev.rst\n+++ b/doc/guides/tools/testbbdev.rst\n@@ -6,9 +6,9 @@ dpdk-test-bbdev Application\n \n The ``dpdk-test-bbdev`` tool is a Data Plane Development Kit (DPDK) utility that\n allows measuring performance parameters of PMDs available in the bbdev framework.\n-Available tests available for execution are: latency, throughput, validation and\n-sanity tests. Execution of tests can be customized using various parameters\n-passed to a python running script.\n+Available tests available for execution are: latency, throughput, validation,\n+bler and sanity tests. Execution of tests can be customized using various\n+parameters passed to a python running script.\n \n Compiling the Application\n -------------------------\n@@ -47,6 +47,8 @@ The tool application has a number of command line options:\n [-c TEST_CASE [TEST_CASE ...]]\n [-v TEST_VECTOR [TEST_VECTOR...]] [-n NUM_OPS]\n [-b BURST_SIZE [BURST_SIZE ...]] [-l NUM_LCORES]\n+ [-t MAX_ITERS [MAX_ITERS ...]]\n+ [-s SNR [SNR ...]]\n \n command-line Options\n ~~~~~~~~~~~~~~~~~~~~\n@@ -106,10 +108,18 @@ The following are the command-line options:\n Specifies operations enqueue/dequeue burst size. If not specified burst_size is\n set to 32. Maximum is 512.\n \n+``-t MAX_ITERS [MAX_ITERS ...], --iter_max MAX_ITERS [MAX_ITERS ...]``\n+ Specifies LDPC decoder operations maximum number of iterations for throughput\n+ and bler tests. If not specified iter_max is set to 6.\n+\n+``-s SNR [SNR ...], --snr SNR [SNR ...]``\n+ Specifies for LDPC decoder operations the SNR in dB used when generating LLRs\n+ for bler tests. If not specified snr is set to 0 dB.\n+\n Test Cases\n ~~~~~~~~~~\n \n-There are 6 main test cases that can be executed using testbbdev tool:\n+There are 7 main test cases that can be executed using testbbdev tool:\n \n * Sanity checks [-c unittest]\n - Performs sanity checks on BBDEV interface, validating basic functionality\n@@ -149,6 +159,11 @@ There are 6 main test cases that can be executed using testbbdev tool:\n - Results are printed in million operations per second and million bits\n per second\n \n+* BLER measurement [-c bler]\n+ - Performs full operation of enqueue and dequeue\n+ - Measures the achieved throughput on a subset or all available CPU cores\n+ - Computed BLER in % based on the total number of operations.\n+\n * Interrupt-mode Throughput [-c interrupt]\n - Similar to Throughput test case, but using interrupts. No polling.\n \n@@ -159,7 +174,7 @@ Parameter Globbing\n Thanks to the globbing functionality in python test-bbdev.py script allows to\n run tests with different set of vector files without giving all of them explicitly.\n \n-**Example usage:**\n+**Example usage for 4G:**\n \n .. code-block:: console\n \n@@ -221,6 +236,11 @@ It runs all tests with \"default\" vectors.\n * ``turbo_enc_default.data`` is a soft link to\n ``turbo_enc_c1_k6144_r0_e32256_crc24b_rm.data``\n \n+* ``ldpc_dec_default.data`` is a soft link to\n+ ``ldpc_dec_v6563.data``\n+\n+* ``ldpc_enc_default.data`` is a soft link to\n+ ``ldpc_enc_c1_k8148_r0_e9372_rm.data``\n \n Running Tests\n -------------\n@@ -254,6 +274,38 @@ x86_64-native-linux-icc target:\n |-- turbo_dec_c1_k6144_r0_e34560_posllr.data\n |-- turbo_enc_c1_k40_r0_e1194_rm.data\n |-- turbo_enc_c1_k6144_r0_e32256_crc24b_rm.data\n+ |-- ldpc_enc_v9503.data\n+ |-- ldpc_enc_v8568.data\n+ |-- ldpc_enc_v7813.data\n+ |-- ldpc_enc_v2342.data\n+ |-- ldpc_enc_v11835.data\n+ |-- ldpc_dec_v8568.data\n+ |-- ldpc_dec_v8480.data\n+ |-- ldpc_dec_v7813.data\n+ |-- ldpc_dec_v2342_drop.data\n+ |-- ldpc_dec_v11835.data\n+ |-- ldpc_dec_HARQ_1_2.data\n+ |-- ldpc_dec_HARQ_1_1.data\n+ |-- ldpc_dec_HARQ_1_0.data\n+ |-- ldpc_enc_v8568_crc24a.data\n+ |-- ldpc_enc_v3964_rv1.data\n+ |-- ldpc_enc_c1_k8148_r0_e9372_rm.data\n+ |-- ldpc_enc_c1_k720_r0_e864_rm_crc24b.data\n+ |-- ldpc_enc_c1_k720_r0_e832_rm.data\n+ |-- ldpc_enc_c1_k330_r0_e360_rm.data\n+ |-- ldpc_enc_c1_k1144_r0_e1380_rm_crc24b.data\n+ |-- ldpc_enc_c1_k1144_r0_e1380_rm.data\n+ |-- ldpc_dec_vcrc_fail.data\n+ |-- ldpc_dec_v8568_low.data\n+ |-- ldpc_dec_v14298.data\n+ |-- ldpc_dec_HARQ_26449_1.loopback_w\n+ |-- ldpc_dec_HARQ_1_3.data\n+ |-- ldpc_enc_v2570_lbrm.data\n+ |-- ldpc_dec_v9503.data\n+ |-- ldpc_dec_v6563.data\n+ |-- ldpc_dec_HARQ_3_1_harq_comp.data\n+ |-- ldpc_dec_HARQ_2_1_llr_comp.data\n+ |-- ldpc_dec_HARQ_26449_1.loopback_r\n \n |-- x86_64-native-linux-icc\n |-- app\n@@ -280,7 +332,7 @@ baseband turbo_sw device\n \n ./test-bbdev.py -p ../../x86_64-native-linux-icc/app/testbbdev\n -e=\"--vdev=baseband_turbo_sw\" -t 120 -c validation\n- -v ./test_vectors/turbo_* -n 64 -b 8 32\n+ -v ./test_vectors/* -n 64 -b 8 32\n \n It runs **validation** test for each vector file that matches the given pattern.\n Number of operations to process on device is set to 64 and operations timeout is\n@@ -342,8 +394,8 @@ Length of chain variable is calculated by parser. Can not be defined\n explicitly.\n \n Variable op_type has to be defined as a first variable in file. It specifies\n-what type of operations will be executed. For decoder op_type has to be set to\n-``RTE_BBDEV_OP_TURBO_DEC`` and for encoder to ``RTE_BBDEV_OP_TURBO_ENC``.\n+what type of operations will be executed. For 4G decoder op_type has to be set to\n+``RTE_BBDEV_OP_TURBO_DEC`` and for 4G encoder to ``RTE_BBDEV_OP_TURBO_ENC``.\n \n Full details of the meaning and valid values for the below fields are\n documented in *rte_bbdev_op.h*\n@@ -469,35 +521,7 @@ uint8_t value\n num_maps =\n 0\n \n-Chain of flags for turbo decoder operation. Following flags can be used:\n-\n-- ``RTE_BBDEV_TURBO_SUBBLOCK_DEINTERLEAVE``\n-\n-- ``RTE_BBDEV_TURBO_CRC_TYPE_24B``\n-\n-- ``RTE_BBDEV_TURBO_EQUALIZER``\n-\n-- ``RTE_BBDEV_TURBO_SOFT_OUT_SATURATE``\n-\n-- ``RTE_BBDEV_TURBO_HALF_ITERATION_EVEN``\n-\n-- ``RTE_BBDEV_TURBO_CONTINUE_CRC_MATCH``\n-\n-- ``RTE_BBDEV_TURBO_SOFT_OUTPUT``\n-\n-- ``RTE_BBDEV_TURBO_EARLY_TERMINATION``\n-\n-- ``RTE_BBDEV_TURBO_DEC_INTERRUPTS``\n-\n-- ``RTE_BBDEV_TURBO_POS_LLR_1_BIT_IN``\n-\n-- ``RTE_BBDEV_TURBO_NEG_LLR_1_BIT_IN``\n-\n-- ``RTE_BBDEV_TURBO_POS_LLR_1_BIT_SOFT_OUT``\n-\n-- ``RTE_BBDEV_TURBO_NEG_LLR_1_BIT_SOFT_OUT``\n-\n-- ``RTE_BBDEV_TURBO_MAP_DEC``\n+Chain of flags for LDPC decoder operation based on the rte_bbdev_op_td_flag_bitmasks:\n \n Example:\n \n@@ -579,26 +603,247 @@ uint8_t value\n rv_index =\n 0\n \n-Chain of flags for turbo encoder operation. Following flags can be used:\n+Chain of flags for LDPC decoder operation based on the rte_bbdev_op_te_flag_bitmasks:\n+\n+``RTE_BBDEV_TURBO_ENC_SCATTER_GATHER`` is used to indicate the parser to\n+force the input data to be memory split and formed as a segmented mbuf.\n+\n+\n+.. parsed-literal::\n+\n+ op_flags =\n+ RTE_BBDEV_TURBO_RATE_MATCH\n \n-- ``RTE_BBDEV_TURBO_RV_INDEX_BYPASS``\n+Chain of operation statuses that are expected after operation is performed.\n+Following statuses can be used:\n \n-- ``RTE_BBDEV_TURBO_RATE_MATCH``\n+- ``DMA``\n \n-- ``RTE_BBDEV_TURBO_CRC_24B_ATTACH``\n+- ``FCW``\n \n-- ``RTE_BBDEV_TURBO_CRC_24A_ATTACH``\n+- ``OK``\n \n-- ``RTE_BBDEV_TURBO_ENC_SCATTER_GATHER``\n+``OK`` means no errors are expected. Cannot be used with other values.\n \n-``RTE_BBDEV_TURBO_ENC_SCATTER_GATHER`` is used to indicate the parser to\n-force the input data to be memory split and formed as a segmented mbuf.\n+.. parsed-literal::\n+\n+ expected_status =\n+ OK\n+\n+LDPC decoder test vectors template\n+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+\n+For LDPC decoder it has to be always set to ``RTE_BBDEV_OP_LDPC_DEC``\n+\n+.. parsed-literal::\n+\n+ op_type =\n+ RTE_BBDEV_OP_LDPC_DEC\n+\n+Chain of uint32_t values. Note that it is possible to define more than one\n+input/output entries which will result in chaining two or more data structures\n+for *segmented Transport Blocks*\n+\n+.. parsed-literal::\n+\n+ input0 =\n+ 0x00000000, 0x7f817f00, 0x7f7f8100, 0x817f8100, 0x81008100, 0x7f818100, 0x81817f00, 0x7f818100,\n+ 0x81007f00, 0x7f818100, 0x817f8100, 0x81817f00, 0x81008100, 0x817f7f00, 0x7f7f8100, 0x81817f00\n+\n+.. parsed-literal::\n+\n+ output0 =\n+ 0xa7d6732e\n+\n+uint8_t value\n+\n+.. parsed-literal::\n+\n+ basegraph=\n+ 1\n+\n+uint16_t value\n+\n+.. parsed-literal::\n+\n+ z_c=\n+ 224\n+\n+uint16_t value\n+\n+.. parsed-literal::\n+\n+ n_cb=\n+ 14784\n+\n+uint8_t value\n+\n+.. parsed-literal::\n+\n+ q_m=\n+ 1\n+\n+uint16_t value\n+\n+.. parsed-literal::\n+\n+ n_filler=\n+ 40\n+\n+uint32_t value\n+\n+.. parsed-literal::\n+\n+ e=\n+ 13072\n+\n+uint8_t value\n+\n+.. parsed-literal::\n+\n+ rv_index=\n+ 2\n+\n+uint8_t value\n+\n+.. parsed-literal::\n+ code_block_mode=\n+ 1\n \n+uint8_t value\n+\n+.. parsed-literal::\n+\n+ iter_max=\n+ 20\n+\n+uint8_t value\n+\n+.. parsed-literal::\n+\n+ expected_iter_count=\n+ 8\n+\n+\n+Chain of flags for LDPC decoder operation based on the rte_bbdev_op_ldpcdec_flag_bitmasks:\n+\n+Example:\n+\n+ .. parsed-literal::\n+\n+ op_flags =\n+ RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE, RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE,\n+ RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE, RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION\n+\n+Chain of operation statuses that are expected after operation is performed.\n+Following statuses can be used:\n+\n+- ``SYNCRC``\n+\n+- ``SYN``\n+\n+- ``CRC``\n+\n+- ``OK``\n+\n+``OK`` means no errors are expected. Cannot be used with other values.\n+\n+.. parsed-literal::\n+\n+ expected_status =\n+ CRC\n+\n+\n+LDPC encoder test vectors template\n+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+\n+For turbo encoder it has to be always set to ``RTE_BBDEV_OP_LDPC_ENC``\n+\n+.. parsed-literal::\n+\n+ op_type =\n+ RTE_BBDEV_OP_LDPC_ENC\n+\n+Chain of uint32_t values\n+\n+.. parsed-literal::\n+\n+ input0 =\n+ 0x11d2bcac, 0x4d\n+\n+Chain of uint32_t values\n+\n+.. parsed-literal::\n+\n+ output0 =\n+ 0xd2399179, 0x640eb999, 0x2cbaf577, 0xaf224ae2, 0x9d139927, 0xe6909b29,\n+ 0xa25b7f47, 0x2aa224ce, 0x79f2\n+\n+\n+uint8_t value\n+\n+.. parsed-literal::\n+\n+ basegraph=\n+ 1\n+\n+uint16_t value\n+\n+.. parsed-literal::\n+\n+ z_c=\n+ 52\n+\n+uint16_t value\n+\n+.. parsed-literal::\n+\n+ n_cb=\n+ 3432\n+\n+uint8_t value\n+\n+.. parsed-literal::\n+\n+ q_m=\n+ 6\n+\n+uint16_t value\n+\n+.. parsed-literal::\n+\n+ n_filler=\n+ 0\n+\n+uint32_t value\n+\n+.. parsed-literal::\n+\n+ e =\n+ 1380\n+\n+uint8_t value\n+\n+.. parsed-literal::\n+\n+ rv_index =\n+ 1\n+\n+uint8_t value\n+\n+.. parsed-literal::\n+\n+ code_block_mode =\n+ 1\n+\n+\n+Chain of flags for LDPC encoder operation based on the\n+rte_bbdev_op_ldpcenc_flag_bitmasks:\n \n .. parsed-literal::\n \n op_flags =\n- RTE_BBDEV_TURBO_RATE_MATCH\n+ RTE_BBDEV_LDPC_RATE_MATCH\n \n Chain of operation statuses that are expected after operation is performed.\n Following statuses can be used:\n", "prefixes": [ "v3", "11/14" ] }{ "id": 66276, "url": "