get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 100999,
    "url": "https://patches.dpdk.org/api/patches/100999/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20211011085644.2716490-4-dkozlyuk@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": "<20211011085644.2716490-4-dkozlyuk@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20211011085644.2716490-4-dkozlyuk@nvidia.com",
    "date": "2021-10-11T08:56:44",
    "name": "[v6,3/3] app/test: add allocator performance autotest",
    "commit_ref": null,
    "pull_url": null,
    "state": "not-applicable",
    "archived": true,
    "hash": "216022a32ead0f928378469ba0eacc0231c12368",
    "submitter": {
        "id": 2367,
        "url": "https://patches.dpdk.org/api/people/2367/?format=api",
        "name": "Dmitry Kozlyuk",
        "email": "dkozlyuk@oss.nvidia.com"
    },
    "delegate": {
        "id": 24651,
        "url": "https://patches.dpdk.org/api/users/24651/?format=api",
        "username": "dmarchand",
        "first_name": "David",
        "last_name": "Marchand",
        "email": "david.marchand@redhat.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20211011085644.2716490-4-dkozlyuk@nvidia.com/mbox/",
    "series": [
        {
            "id": 19509,
            "url": "https://patches.dpdk.org/api/series/19509/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=19509",
            "date": "2021-10-11T08:56:41",
            "name": "eal: add memory pre-allocation from existing files",
            "version": 6,
            "mbox": "https://patches.dpdk.org/series/19509/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/100999/comments/",
    "check": "warning",
    "checks": "https://patches.dpdk.org/api/patches/100999/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 B254EA034F;\n\tMon, 11 Oct 2021 10:57:23 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id B16A14111F;\n\tMon, 11 Oct 2021 10:57:09 +0200 (CEST)",
            "from AZHDRRW-EX02.NVIDIA.COM (azhdrrw-ex02.nvidia.com\n [20.64.145.131]) by mails.dpdk.org (Postfix) with ESMTP id 95D2E410F8\n for <dev@dpdk.org>; Mon, 11 Oct 2021 10:57:07 +0200 (CEST)",
            "from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.43) by\n mxs.oss.nvidia.com (10.13.234.37) with Microsoft SMTP Server\n (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.858.15; Mon, 11 Oct\n 2021 01:57:06 -0700",
            "from BN8PR04CA0028.namprd04.prod.outlook.com (2603:10b6:408:70::41)\n by BY5PR12MB5014.namprd12.prod.outlook.com (2603:10b6:a03:1c4::8)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18; Mon, 11 Oct\n 2021 08:57:05 +0000",
            "from BN8NAM11FT067.eop-nam11.prod.protection.outlook.com\n (2603:10b6:408:70:cafe::88) by BN8PR04CA0028.outlook.office365.com\n (2603:10b6:408:70::41) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18 via Frontend\n Transport; Mon, 11 Oct 2021 08:57:05 +0000",
            "from mail.nvidia.com (216.228.112.34) by\n BN8NAM11FT067.mail.protection.outlook.com (10.13.177.159) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id\n 15.20.4587.18 via Frontend Transport; Mon, 11 Oct 2021 08:57:04 +0000",
            "from nvidia.com (172.20.187.6) by HQMAIL107.nvidia.com\n (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Mon, 11 Oct\n 2021 08:57:03 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=jZmDvm5Kk/4dZ8m2iqmb/xZUQxSj32Qv4Zc5zkYHz4+Qe5N7DADIIXZ+o/6sTFIQyZeQ+/8LoGSNaZcXnC/WU/Gh+YBypeHqHTJvk/X/W6ZM85eBCvykDKbggbbMbkc0QU3KBy4aGt0iRezqcha01djhnlwDWhq+G6WWxHnZv7rcmrT5ZiPzSKNiSh/xIRkAG7kJIDnj1dyZ3Mvy/n//bYDGbx7S6BIgBMR2B1Y9Kh8DMOECkaxqKcZkmZthj0AMxBsd14NnlELtXEoI0GKOYpvx5es3NCh2dmtePTVoTEl+bWakajNLymAlivJU4eWmUlQy3/CglmFciFUCxTBtaw==",
        "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=8fx7Pa362+pk8b/rV8NSxLpfVuTx2X7s1n0kddImHbM=;\n b=O17fEZsio5q17P0epoPVjCDXXrOXqFQCQp2LVE1IbQRIkrXy5Or6ucTRgu7zLhD6ljiDBHu8b4D2M8WTI6DLEoelm5gyDIKaPNlO6iEPyCQvKDY2OCqdLMQBJBrHrIxNfrWxuJApLm59LoVxTcTBFttEyUYlysCGs/RC6TD5cpk3TCo2n06cEDd53EHd0Xscme5NY1HhGkEHDiaVLvuDBxf0gW97Z7EpxO2zUeJiOdHifqGrbbaIp9qYj8S8pZr82WYMqwBAm1EOEwJoyYYv+YTXC9GUtEwrk3skTst0ahLViOaoYUyHrJtuj0wpdzJMUqZFGEUAHEBJZOgzQ12i+A==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com;\n dmarc=pass (p=quarantine sp=none 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=8fx7Pa362+pk8b/rV8NSxLpfVuTx2X7s1n0kddImHbM=;\n b=AVNU5XtDXyq/sJxNnatoQJS4uV705bxNsPsCdmPr9c81LedkiR+8kdPkvDli5ygdsC9EbCxz6rEge8MKnW6W7uZqAA/Z74ClOdO4TpPIQZJMG7TBk4HS0VzhAqkYqXrA1eOaLwFkPzk8NpqohL6yXdElMAeEjQ2/xoaoCSMqdg4MLhUNUmr3V97PcHqs0YTzXscNZLMcheTiS3k7qfttEOFPPpmc4NLffJWH5DZbmvttxEnzd/Viez2WDXHxa9rYSSnIp097yHI3Gwe5VhsQiCjGtX5Vv3tuCva6pOT0Xf3jTWnA+t8h21xqVTxXEZtazsqlP04DktLII7Plc1J0bQ==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.112.34)\n smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed)\n header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.112.34 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.112.34; helo=mail.nvidia.com;",
        "From": "Dmitry Kozlyuk <dkozlyuk@oss.nvidia.com>",
        "To": "<dev@dpdk.org>",
        "CC": "Viacheslav Ovsiienko <viacheslavo@oss.nvidia.com>",
        "Date": "Mon, 11 Oct 2021 11:56:44 +0300",
        "Message-ID": "<20211011085644.2716490-4-dkozlyuk@nvidia.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20211011085644.2716490-1-dkozlyuk@nvidia.com>",
        "References": "<20210921081632.858873-1-dkozlyuk@nvidia.com>\n <20211011085644.2716490-1-dkozlyuk@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[172.20.187.6]",
        "X-ClientProxiedBy": "HQMAIL105.nvidia.com (172.20.187.12) To\n HQMAIL107.nvidia.com (172.20.187.13)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "33f0c884-7d70-420a-191a-08d98c951918",
        "X-MS-TrafficTypeDiagnostic": "BY5PR12MB5014:",
        "X-Microsoft-Antispam-PRVS": "\n <BY5PR12MB5014D29C69E04F55EB0EA41AB9B59@BY5PR12MB5014.namprd12.prod.outlook.com>",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:1923;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n sS2I71lXeNMf0UcsPw9+OQJktWDa+Dlh3TEXVSvfmm9ztvHXW+KoMds4AyF1lXs44CEKDRHTuDto2xhpR/JP5u3BIEVmyx7nB5Bv2n1JKCuppqycYXbCSQoLvVFa/l/w0t/W0pvP9dJ0ov7kGFoWtU0lpijpQqmSxTKV/J1lc/GeUS8N7NXVS2N8HnER68UrTwoDU/wgk53JkypSX0u06qOcEyCKaJwLcWEl48LPrGCQZaT481v6Ak98yfnLd0tJWFn2aO9CzJ1xR2IgH9Mlxt3SJa+pDYjWCjd6oVvholAPAMRRlRW0I5dFB99yFaeyNTwQOEUJZO7hQ89bGpDHI+FiJbw3LSrjYyv8WgbFSDBRw0zjGhWzxmZhsnfWoCkqyIluiZhBKylkfWn2WW4KhQDZxVBkqgbPmKL6lPsuMcY93mEuARD4rOeqKhZDOhIzOxOc8QZX18y+1vEZJXP/rKiXASyNzSdXBdNgLJHTyrCDjrO2zRcteCF47UoMnwxWCg0oHa96RE4M/k6L1TvIoA7Kb6v/cPHmGZgGfN65V9Py88LJnP6gW6e5bjrJ93toa24eg2MoEqZH64370i3dj9ZSYZjTvx9tKcYfPiORzlvfHd2J/NGo40T27RJZMVCmpGfM9FQDU/57z3Cikv48a6yzLOVBf1ix36MHTX9RWnqV0/bnIKqdzuUsBdO+aSdb",
        "X-Forefront-Antispam-Report": "CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE;\n SFS:(4636009)(36840700001)(46966006)(5660300002)(186003)(16526019)(47076005)(86362001)(4326008)(26005)(8936002)(36756003)(336012)(8676002)(36860700001)(426003)(107886003)(6286002)(6666004)(7636003)(316002)(70586007)(508600001)(82310400003)(2906002)(6916009)(1076003)(70206006)(7696005)(2616005)(55016002)(356005);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "11 Oct 2021 08:57:04.6912 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 33f0c884-7d70-420a-191a-08d98c951918",
        "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.112.34];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n BN8NAM11FT067.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BY5PR12MB5014",
        "Subject": "[dpdk-dev] [PATCH v6 3/3] app/test: add allocator performance\n autotest",
        "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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Memory allocator performance is crucial to applications that deal\nwith large amount of memory or allocate frequently. DPDK allocator\nperformance is affected by EAL options, API used and, at least,\nallocation size. New autotest is intended to be run with different\nEAL options. It measures performance with a range of sizes\nfor dirrerent APIs: rte_malloc, rte_zmalloc, and rte_memzone_reserve.\n\nWork distribution between allocation and deallocation depends on EAL\noptions. The test prints both times and total time to ease comparison.\n\nMemory can be filled with zeroes at different points of allocation path,\nbut it always takes considerable fraction of overall timing. This is why\nthe test measures filling speed and prints how long clearing would take\nfor each size as a hint.\n\nSigned-off-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com>\nReviewed-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>\n---\n app/test/meson.build        |   2 +\n app/test/test_malloc_perf.c | 161 ++++++++++++++++++++++++++++++++++++\n 2 files changed, 163 insertions(+)\n create mode 100644 app/test/test_malloc_perf.c",
    "diff": "diff --git a/app/test/meson.build b/app/test/meson.build\nindex f144d8b8ed..47d1d60ded 100644\n--- a/app/test/meson.build\n+++ b/app/test/meson.build\n@@ -85,6 +85,7 @@ test_sources = files(\n         'test_lpm6_perf.c',\n         'test_lpm_perf.c',\n         'test_malloc.c',\n+        'test_malloc_perf.c',\n         'test_mbuf.c',\n         'test_member.c',\n         'test_member_perf.c',\n@@ -282,6 +283,7 @@ fast_tests = [\n \n perf_test_names = [\n         'ring_perf_autotest',\n+        'malloc_perf_autotest',\n         'mempool_perf_autotest',\n         'memcpy_perf_autotest',\n         'hash_perf_autotest',\ndiff --git a/app/test/test_malloc_perf.c b/app/test/test_malloc_perf.c\nnew file mode 100644\nindex 0000000000..fa7357f540\n--- /dev/null\n+++ b/app/test/test_malloc_perf.c\n@@ -0,0 +1,161 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright (c) 2021 NVIDIA Corporation & Affiliates\n+ */\n+\n+#include <inttypes.h>\n+#include <string.h>\n+#include <rte_cycles.h>\n+#include <rte_errno.h>\n+#include <rte_malloc.h>\n+#include <rte_memzone.h>\n+\n+#include \"test.h\"\n+\n+typedef void * (alloc_t)(const char *name, size_t size, unsigned int align);\n+typedef void (free_t)(void *addr);\n+\n+static const uint64_t KB = 1 << 10;\n+static const uint64_t GB = 1 << 30;\n+\n+static double\n+tsc_to_us(uint64_t tsc, size_t runs)\n+{\n+\treturn (double)tsc / rte_get_tsc_hz() * US_PER_S / runs;\n+}\n+\n+static int\n+test_memset_perf(double *us_per_gb)\n+{\n+\tstatic const size_t RUNS = 20;\n+\n+\tvoid *ptr;\n+\tsize_t i;\n+\tuint64_t tsc;\n+\n+\tputs(\"Performance: memset\");\n+\n+\tptr = rte_malloc(NULL, GB, 0);\n+\tif (ptr == NULL) {\n+\t\tprintf(\"rte_malloc(size=%\"PRIx64\") failed\\n\", GB);\n+\t\treturn -1;\n+\t}\n+\n+\ttsc = rte_rdtsc_precise();\n+\tfor (i = 0; i < RUNS; i++)\n+\t\tmemset(ptr, 0, GB);\n+\ttsc = rte_rdtsc_precise() - tsc;\n+\n+\t*us_per_gb = tsc_to_us(tsc, RUNS);\n+\tprintf(\"Result: %f.3 GiB/s <=> %.2f us/MiB\\n\",\n+\t\t\tUS_PER_S / *us_per_gb, *us_per_gb / KB);\n+\n+\trte_free(ptr);\n+\tputchar('\\n');\n+\treturn 0;\n+}\n+\n+static int\n+test_alloc_perf(const char *name, alloc_t *alloc_fn, free_t free_fn,\n+\t\tsize_t max_runs, double memset_gb_us)\n+{\n+\tstatic const size_t SIZES[] = {\n+\t\t\t1 << 6, 1 << 7, 1 << 10, 1 << 12, 1 << 16, 1 << 20,\n+\t\t\t1 << 21, 1 << 22, 1 << 24, 1 << 30 };\n+\n+\tsize_t i, j;\n+\tvoid **ptrs;\n+\n+\tprintf(\"Performance: %s\\n\", name);\n+\n+\tptrs = calloc(max_runs, sizeof(ptrs[0]));\n+\tif (ptrs == NULL) {\n+\t\tputs(\"Cannot allocate memory for pointers\");\n+\t\treturn -1;\n+\t}\n+\n+\tprintf(\"%12s%8s%12s%12s%12s%12s\\n\",\n+\t\t\t\"Size (B)\", \"Runs\", \"Alloc (us)\", \"Free (us)\",\n+\t\t\t\"Total (us)\", \"memset (us)\");\n+\tfor (i = 0; i < RTE_DIM(SIZES); i++) {\n+\t\tsize_t size = SIZES[i];\n+\t\tsize_t runs_done;\n+\t\tuint64_t tsc_start, tsc_alloc, tsc_free;\n+\t\tdouble alloc_time, free_time, memset_time;\n+\n+\t\ttsc_start = rte_rdtsc_precise();\n+\t\tfor (j = 0; j < max_runs; j++) {\n+\t\t\tptrs[j] = alloc_fn(NULL, size, 0);\n+\t\t\tif (ptrs[j] == NULL)\n+\t\t\t\tbreak;\n+\t\t}\n+\t\ttsc_alloc = rte_rdtsc_precise() - tsc_start;\n+\n+\t\tif (j == 0) {\n+\t\t\tprintf(\"%12zu Interrupted: out of memory.\\n\", size);\n+\t\t\tbreak;\n+\t\t}\n+\t\truns_done = j;\n+\n+\t\ttsc_start = rte_rdtsc_precise();\n+\t\tfor (j = 0; j < runs_done && ptrs[j] != NULL; j++)\n+\t\t\tfree_fn(ptrs[j]);\n+\t\ttsc_free = rte_rdtsc_precise() - tsc_start;\n+\n+\t\talloc_time = tsc_to_us(tsc_alloc, runs_done);\n+\t\tfree_time = tsc_to_us(tsc_free, runs_done);\n+\t\tmemset_time = memset_gb_us * size / GB;\n+\t\tprintf(\"%12zu%8zu%12.2f%12.2f%12.2f%12.2f\\n\",\n+\t\t\t\tsize, runs_done, alloc_time, free_time,\n+\t\t\t\talloc_time + free_time, memset_time);\n+\n+\t\tmemset(ptrs, 0, max_runs * sizeof(ptrs[0]));\n+\t}\n+\n+\tfree(ptrs);\n+\tputchar('\\n');\n+\treturn 0;\n+}\n+\n+static void *\n+memzone_alloc(const char *name __rte_unused, size_t size, unsigned int align)\n+{\n+\tconst struct rte_memzone *mz;\n+\tchar gen_name[RTE_MEMZONE_NAMESIZE];\n+\n+\tsnprintf(gen_name, sizeof(gen_name), \"test-mz-%\"PRIx64, rte_rdtsc());\n+\tmz = rte_memzone_reserve_aligned(gen_name, size, SOCKET_ID_ANY,\n+\t\t\tRTE_MEMZONE_1GB | RTE_MEMZONE_SIZE_HINT_ONLY, align);\n+\treturn (void *)(uintptr_t)mz;\n+}\n+\n+static void\n+memzone_free(void *addr)\n+{\n+\trte_memzone_free((struct rte_memzone *)addr);\n+}\n+\n+static int\n+test_malloc_perf(void)\n+{\n+\tstatic const size_t MAX_RUNS = 10000;\n+\n+\tdouble memset_gb_us;\n+\n+\tif (test_memset_perf(&memset_gb_us) < 0)\n+\t\treturn -1;\n+\n+\tif (test_alloc_perf(\"rte_malloc\", rte_malloc, rte_free,\n+\t\t\tMAX_RUNS, memset_gb_us) < 0)\n+\t\treturn -1;\n+\tif (test_alloc_perf(\"rte_zmalloc\", rte_zmalloc, rte_free,\n+\t\t\tMAX_RUNS, memset_gb_us) < 0)\n+\t\treturn -1;\n+\n+\tif (test_alloc_perf(\"rte_memzone_reserve\", memzone_alloc, memzone_free,\n+\t\t\tRTE_MAX_MEMZONE - 1, memset_gb_us) < 0)\n+\t\treturn -1;\n+\n+\treturn 0;\n+}\n+\n+REGISTER_TEST_COMMAND(malloc_perf_autotest, test_malloc_perf);\n",
    "prefixes": [
        "v6",
        "3/3"
    ]
}