get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/66258/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 66258,
    "url": "http://patches.dpdk.org/api/patches/66258/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1583346152-10186-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": "<1583346152-10186-12-git-send-email-nicolas.chautru@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1583346152-10186-12-git-send-email-nicolas.chautru@intel.com",
    "date": "2020-03-04T18:22:28",
    "name": "[v2,11/15] doc: update of testbbdev documentation",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "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/1583346152-10186-12-git-send-email-nicolas.chautru@intel.com/mbox/",
    "series": [
        {
            "id": 8783,
            "url": "http://patches.dpdk.org/api/series/8783/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=8783",
            "date": "2020-03-04T18:22:17",
            "name": "bbdev new features",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/8783/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/66258/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/66258/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 2C6E5A0573;\n\tWed,  4 Mar 2020 19:24:24 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 2F8F31C045;\n\tWed,  4 Mar 2020 19:23:00 +0100 (CET)",
            "from mga02.intel.com (mga02.intel.com [134.134.136.20])\n by dpdk.org (Postfix) with ESMTP id 418FD1BFB1\n for <dev@dpdk.org>; Wed,  4 Mar 2020 19:22:48 +0100 (CET)",
            "from fmsmga008.fm.intel.com ([10.253.24.58])\n by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n 04 Mar 2020 10:22:44 -0800",
            "from skx-5gnr-sc12-4.sc.intel.com ([172.25.69.210])\n by fmsmga008.fm.intel.com with ESMTP; 04 Mar 2020 10:22:43 -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=\"234199025\"",
        "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:22:28 -0800",
        "Message-Id": "<1583346152-10186-12-git-send-email-nicolas.chautru@intel.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1583346152-10186-1-git-send-email-nicolas.chautru@intel.com>",
        "References": "<1582778348-113547-15-git-send-email-nicolas.chautru@intel.com>\n <1583346152-10186-1-git-send-email-nicolas.chautru@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v2 11/15] 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": [
        "v2",
        "11/15"
    ]
}