get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 122890,
    "url": "https://patches.dpdk.org/api/patches/122890/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20230202091332.1037078-4-michaelba@nvidia.com/",
    "project": {
        "id": 1,
        "url": "https://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": "<20230202091332.1037078-4-michaelba@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230202091332.1037078-4-michaelba@nvidia.com",
    "date": "2023-02-02T09:13:31",
    "name": "[v2,3/4] app/test-compress-perf: add algo option",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "a794dc0f4ca7a9365f82293fd07f796d2dcee4be",
    "submitter": {
        "id": 1949,
        "url": "https://patches.dpdk.org/api/people/1949/?format=api",
        "name": "Michael Baum",
        "email": "michaelba@nvidia.com"
    },
    "delegate": {
        "id": 6690,
        "url": "https://patches.dpdk.org/api/users/6690/?format=api",
        "username": "akhil",
        "first_name": "akhil",
        "last_name": "goyal",
        "email": "gakhil@marvell.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20230202091332.1037078-4-michaelba@nvidia.com/mbox/",
    "series": [
        {
            "id": 26747,
            "url": "https://patches.dpdk.org/api/series/26747/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=26747",
            "date": "2023-02-02T09:13:28",
            "name": "compressdev: add LZ4 support",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/26747/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/122890/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/122890/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 mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id D745241BAB;\n\tThu,  2 Feb 2023 10:14:19 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id D209E42D5F;\n\tThu,  2 Feb 2023 10:14:02 +0100 (CET)",
            "from NAM10-MW2-obe.outbound.protection.outlook.com\n (mail-mw2nam10on2066.outbound.protection.outlook.com [40.107.94.66])\n by mails.dpdk.org (Postfix) with ESMTP id 8413942D4D\n for <dev@dpdk.org>; Thu,  2 Feb 2023 10:14:00 +0100 (CET)",
            "from BN9PR03CA0632.namprd03.prod.outlook.com (2603:10b6:408:13b::7)\n by SN7PR12MB6692.namprd12.prod.outlook.com (2603:10b6:806:270::19)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.38; Thu, 2 Feb\n 2023 09:13:58 +0000",
            "from BN8NAM11FT051.eop-nam11.prod.protection.outlook.com\n (2603:10b6:408:13b:cafe::8c) by BN9PR03CA0632.outlook.office365.com\n (2603:10b6:408:13b::7) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.27 via Frontend\n Transport; Thu, 2 Feb 2023 09:13:58 +0000",
            "from mail.nvidia.com (216.228.117.160) by\n BN8NAM11FT051.mail.protection.outlook.com (10.13.177.66) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.6064.27 via Frontend Transport; Thu, 2 Feb 2023 09:13:58 +0000",
            "from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com\n (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 2 Feb 2023\n 01:13:45 -0800",
            "from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail202.nvidia.com\n (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 2 Feb 2023\n 01:13:45 -0800",
            "from nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.9) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36 via Frontend\n Transport; Thu, 2 Feb 2023 01:13:43 -0800"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=QBcSPh2XCpGc2FbK+mO6uhFJlAdIjAVC/LzNHleagCfewQsYGphaNfX5Fktwq2ciajrNSOU2oNamQ9J+eVI0d76pfMr2uzmO4oyWBsor54GuJaPbI6Ko4KAhHJwQVion4Gj72QDG17lneLsk+5HI0GQg+Eu8mAGh3egvMG0s8cu5kX0U/kl13RrN8nC8+bbXWu2kegPQTp8Mer3ntMYJSlNY14vEFiRAX4K9dXRPXlPVa3uyW469sHMFopfaZb+ckzIdfmHHYBuvN1zcSk+FGSx9j+zhkThN2JQmOIwNHdET3ZnEvA/3F68tHROfG8fEcIRixAWKg7i9GnZs8E0S2A==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=5xkcEdvJ1opNOfT3DRu1/YWt45PNTiOd6lUAIvlubaw=;\n b=F/8P0/mHGPOD78IkuEGJMTb7wSSFN4/qhxu+O8lxXNyYFT9oMp4StOZkvwSKdyKcENvbRE0LkQGd+8c8eusgVW+UYd6Q7E9L/4w38xPi+8AhVTa3vdTKSMCGC/r93+knE7t2WzH2AHC0HgBNbcPxJjwb7ruDmG3j9R3z/2yhy54OZZnAAHjlLvvJ/lYCNi5aqRkC+HxquBzKOXZMWbi2vgpJVxM04Wj6guutzWW/YLEGYdZR0KDWVmeJqy65HbF8aoqze7y8qvQKmcm9+z8spk7fkyU/MIrq/fRjl5NU6Xye/Xqf1QZBdxBdtYGnBJFt5U4i67rwYSJa+Bl5cntXRA==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.117.160) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com;\n dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=5xkcEdvJ1opNOfT3DRu1/YWt45PNTiOd6lUAIvlubaw=;\n b=UdV6g/FJXnqBzRlQZb0Lu32r8GB/PjjjexNrqsEsRNs87VoPWoh/EsjHaSHkZeeFfScYMU5wAcKS77VVgnpvapo8GPmXqUyKE0ozL8oksbkpIqGwR2SAzXmHeWCfqGnaT+aX14U+E3povAUSHscDMaLiGfJ6xq1ii19AQMjfO8bl0nK2jRFke78nz/CLa2RE4wwkAmQxe62ODmyasKbCG/0LvUKTvA6dvUiGApAA3X2LNDUCFwwCiHZOpIksv8a9IRqq21YeUAErTtx3hxdlNfP70jViYQ9QkNcXiK5oAf/ip2YYJ/ytMfyXftbz9uYtDhagizGchPQLEKHzzVv4tw==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.117.160)\n smtp.mailfrom=nvidia.com;\n dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.117.160 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C",
        "From": "Michael Baum <michaelba@nvidia.com>",
        "To": "<dev@dpdk.org>",
        "CC": "Matan Azrad <matan@nvidia.com>, Akhil Goyal <gakhil@marvell.com>, \"Ashish\n Gupta\" <ashish.gupta@marvell.com>, Fiona Trahe <fiona.trahe@intel.com>,\n \"Thomas Monjalon\" <thomas@monjalon.net>",
        "Subject": "[PATCH v2 3/4] app/test-compress-perf: add algo option",
        "Date": "Thu, 2 Feb 2023 11:13:31 +0200",
        "Message-ID": "<20230202091332.1037078-4-michaelba@nvidia.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20230202091332.1037078-1-michaelba@nvidia.com>",
        "References": "<20230109074526.2507344-1-michaelba@nvidia.com>\n <20230202091332.1037078-1-michaelba@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "BN8NAM11FT051:EE_|SN7PR12MB6692:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "d3282fa5-db92-4c08-bf20-08db04fdd121",
        "X-LD-Processed": "43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n zrA2/tY9IMRQ3RFY3VbBAjpkzF73cZviTCdbegvBUAyoxXIexBJGPzdcmvOfnhGvOcSZnfQAlxoSrgnD82sJunHVGUgUHXXlZu8cBkGu2T5OW0RgIQWUfI68DwVlPmqPQs0yJoGG6ePJfk8Nvw3GLtIFTmFp7+Sh/5CMeWEIsL31+vIIUPfL1khGIsphSBRZGAPBQuI/DBePW3Afw0LTyCEKn5jW4a6kouKOXkmqWo/WR2nIDOuyhC3XOvHjvPVNJADYfrHvbUr88/fOSqIT2LfL5MZOzVsmnmSju5SqDGaWTPGTe3+qnBO+qwar9oAANh7wO/xveSDj/tfp/lh7UU47O5PLfeBzqmdvMLjLDM37buja/okL6sWhBje4YS6fQk0wq3pgB84zvzqQQ4pJCW5bRJSxycAgPsEhUbMHdJFyyY7KFURW9ww6cbg73Pz+2qv6LCa/x/4brFpNIRmCGJlPcJDhFJMXjMrs8oPw9Rm/z49wQrNd6E9HqjC1baO8lUCkzs4z743xmI1zs7IEHi/xZH88ELzZydmERp0S+BfaowCN9G8r8hEpSEDHvslvfv0rQPeQzEZ55wx8hJ6U7VFC4Q5J5Qj7I30Q9iBR6FNci46Pjc3B8ZcylLmVwjpLkuoTtGq/Z8nJm8Q4a9hj7d11ofDOLPEkyds1Vd+Nc4d7MumeBNf+h/vLm44DjIQxHakzb6v88SvWba4BpZN2iA==",
        "X-Forefront-Antispam-Report": "CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE;\n SFS:(13230025)(4636009)(136003)(376002)(346002)(396003)(39860400002)(451199018)(46966006)(36840700001)(40470700004)(47076005)(2616005)(36756003)(54906003)(6666004)(336012)(83380400001)(316002)(426003)(2906002)(36860700001)(82740400003)(7636003)(82310400005)(41300700001)(8676002)(478600001)(70586007)(70206006)(7696005)(4326008)(1076003)(26005)(6286002)(40460700003)(55016003)(186003)(356005)(40480700001)(5660300002)(30864003)(8936002)(86362001)(6916009);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "02 Feb 2023 09:13:58.3069 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n d3282fa5-db92-4c08-bf20-08db04fdd121",
        "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n BN8NAM11FT051.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "SN7PR12MB6692",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "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"
    },
    "content": "Add a command line option `algo` to select the compress algorithm\nsupported by the compress API: null (DMA), deflate and lzs.\n\nDefault for deflate.\n\nSigned-off-by: Matan Azrad <matan@nvidia.com>\nSigned-off-by: Michael Baum <michaelba@nvidia.com>\n---\n app/test-compress-perf/comp_perf_options.h    |  2 +\n .../comp_perf_options_parse.c                 | 40 ++++++++++++++++++-\n .../comp_perf_test_cyclecount.c               |  4 +-\n .../comp_perf_test_throughput.c               |  4 +-\n .../comp_perf_test_verify.c                   |  4 +-\n app/test-compress-perf/main.c                 | 38 +++++++++++-------\n doc/guides/rel_notes/release_23_03.rst        |  4 ++\n doc/guides/tools/comp_perf.rst                |  2 +\n 8 files changed, 76 insertions(+), 22 deletions(-)",
    "diff": "diff --git a/app/test-compress-perf/comp_perf_options.h b/app/test-compress-perf/comp_perf_options.h\nindex d00b299247..5e5227a700 100644\n--- a/app/test-compress-perf/comp_perf_options.h\n+++ b/app/test-compress-perf/comp_perf_options.h\n@@ -63,6 +63,8 @@ struct comp_test_data {\n \n \tenum rte_comp_huffman huffman_enc;\n \tenum comp_operation test_op;\n+\tenum rte_comp_algorithm test_algo;\n+\n \tint window_sz;\n \tstruct range_list level_lst;\n \tuint8_t level;\ndiff --git a/app/test-compress-perf/comp_perf_options_parse.c b/app/test-compress-perf/comp_perf_options_parse.c\nindex 7a992bf43e..97ddff87ef 100644\n--- a/app/test-compress-perf/comp_perf_options_parse.c\n+++ b/app/test-compress-perf/comp_perf_options_parse.c\n@@ -25,6 +25,7 @@\n #define CPERF_MAX_SGL_SEGS\t(\"max-num-sgl-segs\")\n #define CPERF_NUM_ITER\t\t(\"num-iter\")\n #define CPERF_OPTYPE\t\t(\"operation\")\n+#define CPERF_ALGO\t\t(\"algo\")\n #define CPERF_HUFFMAN_ENC\t(\"huffman-enc\")\n #define CPERF_LEVEL\t\t(\"compress-level\")\n #define CPERF_WINDOW_SIZE\t(\"window-sz\")\n@@ -56,6 +57,8 @@ usage(char *progname)\n \t\t\"\t\tcompressed/decompressed (default: 10000)\\n\"\n \t\t\" --operation [comp/decomp/comp_and_decomp]: perform test on\\n\"\n \t\t\"\t\tcompression, decompression or both operations\\n\"\n+\t\t\" --algo [null/deflate/lzs]: perform test on algorithm\\n\"\n+\t\t\"\t\tnull(DMA), deflate or lzs (default: deflate)\\n\"\n \t\t\" --huffman-enc [fixed/dynamic/default]: Huffman encoding\\n\"\n \t\t\"\t\t(default: dynamic)\\n\"\n \t\t\" --compress-level N: compression level, which could be a single value, list or range\\n\"\n@@ -470,6 +473,36 @@ parse_op_type(struct comp_test_data *test_data, const char *arg)\n \treturn 0;\n }\n \n+static int\n+parse_algo(struct comp_test_data *test_data, const char *arg)\n+{\n+\tstruct name_id_map algo_namemap[] = {\n+\t\t{\n+\t\t\t\"null\",\n+\t\t\tRTE_COMP_ALGO_NULL\n+\t\t},\n+\t\t{\n+\t\t\t\"deflate\",\n+\t\t\tRTE_COMP_ALGO_DEFLATE\n+\t\t},\n+\t\t{\n+\t\t\t\"lzs\",\n+\t\t\tRTE_COMP_ALGO_LZS\n+\t\t}\n+\t};\n+\n+\tint id = get_str_key_id_mapping(algo_namemap,\n+\t\t\tRTE_DIM(algo_namemap), arg);\n+\tif (id < 0) {\n+\t\tRTE_LOG(ERR, USER1, \"Invalid algorithm specified\\n\");\n+\t\treturn -1;\n+\t}\n+\n+\ttest_data->test_algo = (enum rte_comp_algorithm)id;\n+\n+\treturn 0;\n+}\n+\n static int\n parse_huffman_enc(struct comp_test_data *test_data, const char *arg)\n {\n@@ -491,7 +524,7 @@ parse_huffman_enc(struct comp_test_data *test_data, const char *arg)\n \tint id = get_str_key_id_mapping(huffman_namemap,\n \t\t\tRTE_DIM(huffman_namemap), arg);\n \tif (id < 0) {\n-\t\tRTE_LOG(ERR, USER1, \"Invalid Huffmane encoding specified\\n\");\n+\t\tRTE_LOG(ERR, USER1, \"Invalid Huffman encoding specified\\n\");\n \t\treturn -1;\n \t}\n \n@@ -507,7 +540,7 @@ parse_level(struct comp_test_data *test_data, const char *arg)\n \n \t/*\n \t * Try parsing the argument as a range, if it fails,\n-\t * arse it as a list\n+\t * parse it as a list\n \t */\n \tif (parse_range(arg, &test_data->level_lst.min,\n \t\t\t&test_data->level_lst.max,\n@@ -572,6 +605,7 @@ static struct option lgopts[] = {\n \t{ CPERF_MAX_SGL_SEGS, required_argument, 0, 0},\n \t{ CPERF_NUM_ITER, required_argument, 0, 0 },\n \t{ CPERF_OPTYPE,\trequired_argument, 0, 0 },\n+\t{ CPERF_ALGO, required_argument, 0, 0 },\n \t{ CPERF_HUFFMAN_ENC, required_argument, 0, 0 },\n \t{ CPERF_LEVEL, required_argument, 0, 0 },\n \t{ CPERF_WINDOW_SIZE, required_argument, 0, 0 },\n@@ -594,6 +628,7 @@ comp_perf_opts_parse_long(int opt_idx, struct comp_test_data *test_data)\n \t\t{ CPERF_MAX_SGL_SEGS,\tparse_max_num_sgl_segs },\n \t\t{ CPERF_NUM_ITER,\tparse_num_iter },\n \t\t{ CPERF_OPTYPE,\t\tparse_op_type },\n+\t\t{ CPERF_ALGO,\t\tparse_algo },\n \t\t{ CPERF_HUFFMAN_ENC,\tparse_huffman_enc },\n \t\t{ CPERF_LEVEL,\t\tparse_level },\n \t\t{ CPERF_WINDOW_SIZE,\tparse_window_sz },\n@@ -649,6 +684,7 @@ comp_perf_options_default(struct comp_test_data *test_data)\n \ttest_data->num_iter = 10000;\n \ttest_data->huffman_enc = RTE_COMP_HUFFMAN_DYNAMIC;\n \ttest_data->test_op = COMPRESS_DECOMPRESS;\n+\ttest_data->test_algo = RTE_COMP_ALGO_DEFLATE;\n \ttest_data->window_sz = -1;\n \ttest_data->level_lst.min = RTE_COMP_LEVEL_MIN;\n \ttest_data->level_lst.max = RTE_COMP_LEVEL_MAX;\ndiff --git a/app/test-compress-perf/comp_perf_test_cyclecount.c b/app/test-compress-perf/comp_perf_test_cyclecount.c\nindex ce6c4d7605..81c3d30038 100644\n--- a/app/test-compress-perf/comp_perf_test_cyclecount.c\n+++ b/app/test-compress-perf/comp_perf_test_cyclecount.c\n@@ -193,7 +193,7 @@ main_loop(struct cperf_cyclecount_ctx *ctx, enum rte_comp_xform_type type)\n \t\txform = (struct rte_comp_xform) {\n \t\t\t.type = RTE_COMP_COMPRESS,\n \t\t\t.compress = {\n-\t\t\t\t.algo = RTE_COMP_ALGO_DEFLATE,\n+\t\t\t\t.algo = test_data->test_algo,\n \t\t\t\t.deflate.huffman = test_data->huffman_enc,\n \t\t\t\t.level = test_data->level,\n \t\t\t\t.window_size = test_data->window_sz,\n@@ -208,7 +208,7 @@ main_loop(struct cperf_cyclecount_ctx *ctx, enum rte_comp_xform_type type)\n \t\txform = (struct rte_comp_xform) {\n \t\t\t.type = RTE_COMP_DECOMPRESS,\n \t\t\t.decompress = {\n-\t\t\t\t.algo = RTE_COMP_ALGO_DEFLATE,\n+\t\t\t\t.algo = test_data->test_algo,\n \t\t\t\t.chksum = RTE_COMP_CHECKSUM_NONE,\n \t\t\t\t.window_size = test_data->window_sz,\n \t\t\t\t.hash_algo = RTE_COMP_HASH_ALGO_NONE\ndiff --git a/app/test-compress-perf/comp_perf_test_throughput.c b/app/test-compress-perf/comp_perf_test_throughput.c\nindex c9f8237626..2545ee9925 100644\n--- a/app/test-compress-perf/comp_perf_test_throughput.c\n+++ b/app/test-compress-perf/comp_perf_test_throughput.c\n@@ -84,7 +84,7 @@ main_loop(struct cperf_benchmark_ctx *ctx, enum rte_comp_xform_type type)\n \t\txform = (struct rte_comp_xform) {\n \t\t\t.type = RTE_COMP_COMPRESS,\n \t\t\t.compress = {\n-\t\t\t\t.algo = RTE_COMP_ALGO_DEFLATE,\n+\t\t\t\t.algo = test_data->test_algo,\n \t\t\t\t.deflate.huffman = test_data->huffman_enc,\n \t\t\t\t.level = test_data->level,\n \t\t\t\t.window_size = test_data->window_sz,\n@@ -99,7 +99,7 @@ main_loop(struct cperf_benchmark_ctx *ctx, enum rte_comp_xform_type type)\n \t\txform = (struct rte_comp_xform) {\n \t\t\t.type = RTE_COMP_DECOMPRESS,\n \t\t\t.decompress = {\n-\t\t\t\t.algo = RTE_COMP_ALGO_DEFLATE,\n+\t\t\t\t.algo = test_data->test_algo,\n \t\t\t\t.chksum = RTE_COMP_CHECKSUM_NONE,\n \t\t\t\t.window_size = test_data->window_sz,\n \t\t\t\t.hash_algo = RTE_COMP_HASH_ALGO_NONE\ndiff --git a/app/test-compress-perf/comp_perf_test_verify.c b/app/test-compress-perf/comp_perf_test_verify.c\nindex 7d6b6abecd..88f4f41851 100644\n--- a/app/test-compress-perf/comp_perf_test_verify.c\n+++ b/app/test-compress-perf/comp_perf_test_verify.c\n@@ -87,7 +87,7 @@ main_loop(struct cperf_verify_ctx *ctx, enum rte_comp_xform_type type)\n \t\txform = (struct rte_comp_xform) {\n \t\t\t.type = RTE_COMP_COMPRESS,\n \t\t\t.compress = {\n-\t\t\t\t.algo = RTE_COMP_ALGO_DEFLATE,\n+\t\t\t\t.algo = test_data->test_algo,\n \t\t\t\t.deflate.huffman = test_data->huffman_enc,\n \t\t\t\t.level = test_data->level,\n \t\t\t\t.window_size = test_data->window_sz,\n@@ -104,7 +104,7 @@ main_loop(struct cperf_verify_ctx *ctx, enum rte_comp_xform_type type)\n \t\txform = (struct rte_comp_xform) {\n \t\t\t.type = RTE_COMP_DECOMPRESS,\n \t\t\t.decompress = {\n-\t\t\t\t.algo = RTE_COMP_ALGO_DEFLATE,\n+\t\t\t\t.algo = test_data->test_algo,\n \t\t\t\t.chksum = RTE_COMP_CHECKSUM_NONE,\n \t\t\t\t.window_size = test_data->window_sz,\n \t\t\t\t.hash_algo = RTE_COMP_HASH_ALGO_NONE\ndiff --git a/app/test-compress-perf/main.c b/app/test-compress-perf/main.c\nindex bbb4c7917b..d049527ba1 100644\n--- a/app/test-compress-perf/main.c\n+++ b/app/test-compress-perf/main.c\n@@ -57,29 +57,39 @@ comp_perf_check_capabilities(struct comp_test_data *test_data, uint8_t cdev_id)\n {\n \tconst struct rte_compressdev_capabilities *cap;\n \n-\tcap = rte_compressdev_capability_get(cdev_id,\n-\t\t\t\t\t     RTE_COMP_ALGO_DEFLATE);\n+\tcap = rte_compressdev_capability_get(cdev_id, test_data->test_algo);\n \n \tif (cap == NULL) {\n \t\tRTE_LOG(ERR, USER1,\n-\t\t\t\"Compress device does not support DEFLATE\\n\");\n+\t\t\t\"Compress device does not support %u algorithm\\n\",\n+\t\t\ttest_data->test_algo);\n \t\treturn -1;\n \t}\n \n \tuint64_t comp_flags = cap->comp_feature_flags;\n \n-\t/* Huffman encoding */\n-\tif (test_data->huffman_enc == RTE_COMP_HUFFMAN_FIXED &&\n-\t\t\t(comp_flags & RTE_COMP_FF_HUFFMAN_FIXED) == 0) {\n-\t\tRTE_LOG(ERR, USER1,\n-\t\t\t\"Compress device does not supported Fixed Huffman\\n\");\n-\t\treturn -1;\n-\t}\n+\t/* Algorithm type */\n+\tswitch (test_data->test_algo) {\n+\tcase RTE_COMP_ALGO_DEFLATE:\n+\t\t/* Huffman encoding */\n+\t\tif (test_data->huffman_enc == RTE_COMP_HUFFMAN_FIXED &&\n+\t\t    (comp_flags & RTE_COMP_FF_HUFFMAN_FIXED) == 0) {\n+\t\t\tRTE_LOG(ERR, USER1,\n+\t\t\t\t\"Compress device does not supported Fixed Huffman\\n\");\n+\t\t\treturn -1;\n+\t\t}\n \n-\tif (test_data->huffman_enc == RTE_COMP_HUFFMAN_DYNAMIC &&\n-\t\t\t(comp_flags & RTE_COMP_FF_HUFFMAN_DYNAMIC) == 0) {\n-\t\tRTE_LOG(ERR, USER1,\n-\t\t\t\"Compress device does not supported Dynamic Huffman\\n\");\n+\t\tif (test_data->huffman_enc == RTE_COMP_HUFFMAN_DYNAMIC &&\n+\t\t    (comp_flags & RTE_COMP_FF_HUFFMAN_DYNAMIC) == 0) {\n+\t\t\tRTE_LOG(ERR, USER1,\n+\t\t\t\t\"Compress device does not supported Dynamic Huffman\\n\");\n+\t\t\treturn -1;\n+\t\t}\n+\t\tbreak;\n+\tcase RTE_COMP_ALGO_LZS:\n+\tcase RTE_COMP_ALGO_NULL:\n+\t\tbreak;\n+\tdefault:\n \t\treturn -1;\n \t}\n \ndiff --git a/doc/guides/rel_notes/release_23_03.rst b/doc/guides/rel_notes/release_23_03.rst\nindex 15fa8e812b..da345ded48 100644\n--- a/doc/guides/rel_notes/release_23_03.rst\n+++ b/doc/guides/rel_notes/release_23_03.rst\n@@ -89,6 +89,10 @@ New Features\n \n   Enable the application options for testing only compress and only decompress.\n \n+* **Added algo option in test-compress-perf.**\n+\n+  Added support for testing other algorithms except for DEFLAT.\n+\n \n Removed Items\n -------------\ndiff --git a/doc/guides/tools/comp_perf.rst b/doc/guides/tools/comp_perf.rst\nindex 9d2f4dbe4a..cf9035cc23 100644\n--- a/doc/guides/tools/comp_perf.rst\n+++ b/doc/guides/tools/comp_perf.rst\n@@ -84,6 +84,8 @@ Application Options\n \n  ``--operation [comp/decomp/comp_and_decomp]``: perform test on compression, decompression or both operations\n \n+ ``--algo [null/deflate/lzs]`` : perform test on algorithm null(DMA), Deflate or lzs (default: Deflate)\n+\n  ``--huffman-enc [fixed/dynamic/default]``: Huffman encoding (default: dynamic)\n \n  ``--compress-level N``: compression level, which could be a single value, list or range (default: range between 1 and 9)\n",
    "prefixes": [
        "v2",
        "3/4"
    ]
}