get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 135393,
    "url": "https://patches.dpdk.org/api/patches/135393/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20231220110333.619-1-vipin.varghese@amd.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": "<20231220110333.619-1-vipin.varghese@amd.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20231220110333.619-1-vipin.varghese@amd.com",
    "date": "2023-12-20T11:03:33",
    "name": "[v2] app/dma-perf: replace pktmbuf with mempool objects",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "fd6ac19711b19db6dfc7f3c64abf9659e718f385",
    "submitter": {
        "id": 2511,
        "url": "https://patches.dpdk.org/api/people/2511/?format=api",
        "name": "Vipin Varghese",
        "email": "vipin.varghese@amd.com"
    },
    "delegate": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20231220110333.619-1-vipin.varghese@amd.com/mbox/",
    "series": [
        {
            "id": 30629,
            "url": "https://patches.dpdk.org/api/series/30629/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=30629",
            "date": "2023-12-20T11:03:33",
            "name": "[v2] app/dma-perf: replace pktmbuf with mempool objects",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/30629/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/135393/comments/",
    "check": "warning",
    "checks": "https://patches.dpdk.org/api/patches/135393/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 0CE9643736;\n\tWed, 20 Dec 2023 12:04:00 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id A840E402D9;\n\tWed, 20 Dec 2023 12:03:59 +0100 (CET)",
            "from NAM02-BN1-obe.outbound.protection.outlook.com\n (mail-bn1nam02on2064.outbound.protection.outlook.com [40.107.212.64])\n by mails.dpdk.org (Postfix) with ESMTP id 2F6C740291\n for <dev@dpdk.org>; Wed, 20 Dec 2023 12:03:58 +0100 (CET)",
            "from DS7P222CA0026.NAMP222.PROD.OUTLOOK.COM (2603:10b6:8:2e::32) by\n SJ2PR12MB8160.namprd12.prod.outlook.com (2603:10b6:a03:4af::8) with\n Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.7091.38; Wed, 20 Dec 2023 11:03:55 +0000",
            "from CY4PEPF0000EE38.namprd03.prod.outlook.com\n (2603:10b6:8:2e:cafe::b9) by DS7P222CA0026.outlook.office365.com\n (2603:10b6:8:2e::32) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.18 via Frontend\n Transport; Wed, 20 Dec 2023 11:03:55 +0000",
            "from SATLEXMB04.amd.com (165.204.84.17) by\n CY4PEPF0000EE38.mail.protection.outlook.com (10.167.242.12) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id\n 15.20.7113.14 via Frontend Transport; Wed, 20 Dec 2023 11:03:55 +0000",
            "from BLR-5CG134626B.amd.com (10.180.168.240) by SATLEXMB04.amd.com\n (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Wed, 20 Dec\n 2023 05:03:52 -0600"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=hLylXCkot1J3iiTHVf6xkd7w6VF7oxQ6zhHkZnVOgKqV9xqkW9/bCqXMlg2wNlo96VlOCz/DL+ECfd4YbsY+hVmHBpxXI5IYklFtWIO0sP+qZ7k3DTHMb7xTYLtCcH8YKELsS7CssS6mRgoWHLZxZdjG3qDT4cDIaU5644L+5LHqjP1Y7q9/6xCAZxIzCxQ+iblf4FsQ642Xh4MZPpN4P+Kzzw484+oNqf0z/bKmUU5jzEKOUSfP3QnKCT6aejsHxdP2Nvax1jaqS3HLfezGj1DZCxAlGNFuyppJiQa0auhbSRWBrbUdfZSf8sWlgSWlqu1wNTVg0qqU7ZRnK2YlHQ==",
        "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=iE6UtcEtaK6pqMPfRCZLRzWvsy07jgTmPN7P0MN+vZM=;\n b=ElxLEQ0dHrywYD4hOWC4CZmzPpCEX/1tPMEWhcr9rvlLdJJgj1clzEie3DKmmUXwzqMppv6P818l+AZA1jCt0Cbm5ntAE+xlSScoOVlsEK4n/S2uDJ8xAYG9XVrw3VgFCHXZ5apktNSsggpYhhWSXkB4MhuOnxj5M4Pos7hfBXmiS5rtv+nGtcQqkxvmjL+uo2Wi3WZ/iL8WGEhgfGG8xmoLZfRGsnPWUQw8y/pHQP5mp18foMNA1nsYhkEE/SuBBjaAv0z5/3Rpkwz340MKhkfnTig7FvFmR1XlxYiwmKWAZd79DXLo64QJQYjWCXuRfediwOpEZMzVdOUK1tBsCQ==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass\n (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;\n dkim=none (message not signed); arc=none (0)",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=iE6UtcEtaK6pqMPfRCZLRzWvsy07jgTmPN7P0MN+vZM=;\n b=oIuMMqiD88N+TDPp7XLx9lRnSA4YLV0fUCCBfR5YM2/D/l5dNNMRIj1hECP1KQurY6F3ZsByo7Iwy7MrMsTzyI7Pj25vKAlykp+Sij9r6m4WOYsGqLN0aHdYPF0Fc/Mndpqt4ugaJqABnkLJ7gJpAgZD1kSKDOeLd7W86Bj6Z4U=",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 165.204.84.17)\n smtp.mailfrom=amd.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=amd.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of amd.com designates\n 165.204.84.17 as permitted sender) receiver=protection.outlook.com;\n client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C",
        "From": "Vipin Varghese <vipin.varghese@amd.com>",
        "To": "<dev@dpdk.org>, <david.marchand@redhat.com>, <honest.jiang@foxmail.com>",
        "CC": "Vipin Varghese <Vipin.Varghese@amd.com>,\n =?utf-8?q?Morten_Br=C3=B8rup?= <mb@smartsharesystems.com>,\n Thiyagrajan P <thiyagarajan.p@amd.com>",
        "Subject": "[PATCH v2] app/dma-perf: replace pktmbuf with mempool objects",
        "Date": "Wed, 20 Dec 2023 16:33:33 +0530",
        "Message-ID": "<20231220110333.619-1-vipin.varghese@amd.com>",
        "X-Mailer": "git-send-email 2.41.0.windows.3",
        "In-Reply-To": "<20231212103746.1910-1-vipin.varghese@amd.com>",
        "References": "<20231212103746.1910-1-vipin.varghese@amd.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"UTF-8\"",
        "Content-Transfer-Encoding": "8bit",
        "X-Originating-IP": "[10.180.168.240]",
        "X-ClientProxiedBy": "SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com\n (10.181.40.145)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "CY4PEPF0000EE38:EE_|SJ2PR12MB8160:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "97111f0f-72e1-406d-e0f4-08dc014b5bb0",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n 8EzjFTutszPRPVoGuNx4otgzOSUCRJ/UzKzq3BXHg+DI9hIeYX/WBr+vAIfLYUg4layrCofcfsTPH2iDN4TDqQ5ozo4w/FfZX1qmBGAfjrAg1DTicAYvPZWCE1MU5sVwUJTTiZ30lPmT6+ik7pAO2zpfh2t4m7E4HJho03diKNcaE4w7xSvH0EFhjC+KkmuF3lZOey4JMBr0tOGoboPBlb6xYEDTK1QRQ88izKeY+6y47GP1BnlEOO/Gs+VTw5rzxbMH05IuHrtPeyKh+vC1jDcGUtEBQsmriAAGIYXbfLKAkVs7Vp9xDkhD4qYiXpo4tWitq2vrz3dMbkXtpuXYAxndDHbyfmIA+69xYktpJ2dvzIxJeojjubok9n7VUyAAAua/TMt4PRaIWrp4xfBNROUaSiOKSrIRkNxlU41fz8xc9ypq+0/c1F0jqI86qI5f4Mjg3mWovoupOcCS8sNoGXTaeHHd6j8BV5DHalCDgin2SEegM4ArZ8tCrjO+7TeLzOpyL89PwL8BddMX3n1RuZj+mKHL8LVEY6b6S6wc7RyI0J0qYMAlPz6JSOHz1ti0gbKrH/SgyOniGU1csmcbbUjzaxWv2SlRcZ/uTxv1S0ksga7PAhmkhHUHYseonM+LA0odOYSSdWqSzkD8TMZlEIkB9wIxtdrsibY4DAdmLUtivCyYTTpMAxrAwYIf9wKxWPPodOfeGgemXqfSTIp9G7sEqx9CEiXsnbc8/fak5Y/fjnE+WobHD82SXpWQFQh3x+nu9QQ6hzat0vq91WlVo7o8N5f/zwebdsjeoLRWhyE=",
        "X-Forefront-Antispam-Report": "CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE;\n SFS:(13230031)(4636009)(346002)(376002)(39860400002)(136003)(396003)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(82310400011)(40470700004)(46966006)(36840700001)(40460700003)(8936002)(47076005)(44832011)(36860700001)(336012)(426003)(83380400001)(81166007)(41300700001)(356005)(82740400003)(86362001)(5660300002)(54906003)(316002)(110136005)(8676002)(1076003)(16526019)(70206006)(478600001)(26005)(7696005)(4326008)(6666004)(2906002)(70586007)(2616005)(36756003)(40480700001)(2101003)(36900700001);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "amd.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "20 Dec 2023 11:03:55.1167 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 97111f0f-72e1-406d-e0f4-08dc014b5bb0",
        "X-MS-Exchange-CrossTenant-Id": "3dd8961f-e488-4e60-8e11-a82d994e183d",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17];\n Helo=[SATLEXMB04.amd.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n CY4PEPF0000EE38.namprd03.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "SJ2PR12MB8160",
        "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": "From: Vipin Varghese <Vipin.Varghese@amd.com>\n\nReplace pktmbuf pool with mempool, this allows increase in MOPS\nespecially in lower buffer size. Using Mempool, allows to reduce\nthe extra CPU cycles.\n\nChanges made are\n1. pktmbuf pool create with mempool create.\n2. create src & dst pointer array from the appropaite numa.\n3. use get pool and put for mempool objects.\n4. remove pktmbuf_mtod for dma and cpu memcpy.\n\nv2 changes:\n - add ACK from  Morten Brørup\n\nv1 changes:\n - pktmbuf pool create with mempool create.\n - create src & dst pointer array from the appropaite numa.\n - use get pool and put for mempool objects.\n - remove pktmbuf_mtod for dma and cpu memcpy.\n\nTest Results for pktmbuf vs mempool:\n====================================\n\nFormat: Buffer Size | % AVG cycles | % AVG Gbps\n\nCategory-1: HW-DSA\n-------------------\n  64|-13.11| 14.97\n 128|-41.49|  0.41\n 256| -1.85|  1.20\n 512| -9.38|  8.81\n1024|  1.82| -2.00\n1518|  0.00| -0.80\n2048|  1.03| -0.91\n4096|  0.00| -0.35\n8192|  0.07| -0.08\n\nCategory-2: MEMCPY\n-------------------\n  64|-12.50|14.14\n 128|-40.63|67.26\n 256|-38.78|59.35\n 512|-30.26|43.36\n1024|-21.80|27.04\n1518|-16.23|19.33\n2048|-14.75|16.81\n4096| -9.56|10.01\n8192| -3.32| 3.12\n\nSigned-off-by: Vipin Varghese <vipin.varghese@amd.com>\nAcked-by: Morten Brørup <mb@smartsharesystems.com>\nTested-by: Thiyagrajan P <thiyagarajan.p@amd.com>\n---\n---\n app/test-dma-perf/benchmark.c | 74 +++++++++++++++++++++--------------\n 1 file changed, 44 insertions(+), 30 deletions(-)",
    "diff": "diff --git a/app/test-dma-perf/benchmark.c b/app/test-dma-perf/benchmark.c\nindex 9b1f58c78c..dc6f16cc01 100644\n--- a/app/test-dma-perf/benchmark.c\n+++ b/app/test-dma-perf/benchmark.c\n@@ -43,8 +43,8 @@ struct lcore_params {\n \tuint16_t kick_batch;\n \tuint32_t buf_size;\n \tuint16_t test_secs;\n-\tstruct rte_mbuf **srcs;\n-\tstruct rte_mbuf **dsts;\n+\tvoid **srcs;\n+\tvoid **dsts;\n \tvolatile struct worker_info worker_info;\n };\n \n@@ -110,17 +110,17 @@ output_result(uint8_t scenario_id, uint32_t lcore_id, char *dma_name, uint16_t r\n }\n \n static inline void\n-cache_flush_buf(__rte_unused struct rte_mbuf **array,\n+cache_flush_buf(__rte_unused void **array,\n \t\t__rte_unused uint32_t buf_size,\n \t\t__rte_unused uint32_t nr_buf)\n {\n #ifdef RTE_ARCH_X86_64\n \tchar *data;\n-\tstruct rte_mbuf **srcs = array;\n+\tvoid **srcs = array;\n \tuint32_t i, offset;\n \n \tfor (i = 0; i < nr_buf; i++) {\n-\t\tdata = rte_pktmbuf_mtod(srcs[i], char *);\n+\t\tdata = (char *) srcs[i];\n \t\tfor (offset = 0; offset < buf_size; offset += 64)\n \t\t\t__builtin_ia32_clflush(data + offset);\n \t}\n@@ -224,8 +224,8 @@ do_dma_mem_copy(void *p)\n \tconst uint32_t nr_buf = para->nr_buf;\n \tconst uint16_t kick_batch = para->kick_batch;\n \tconst uint32_t buf_size = para->buf_size;\n-\tstruct rte_mbuf **srcs = para->srcs;\n-\tstruct rte_mbuf **dsts = para->dsts;\n+\tvoid **srcs = para->srcs;\n+\tvoid **dsts = para->dsts;\n \tuint16_t nr_cpl;\n \tuint64_t async_cnt = 0;\n \tuint32_t i;\n@@ -241,8 +241,12 @@ do_dma_mem_copy(void *p)\n \twhile (1) {\n \t\tfor (i = 0; i < nr_buf; i++) {\n dma_copy:\n-\t\t\tret = rte_dma_copy(dev_id, 0, rte_mbuf_data_iova(srcs[i]),\n-\t\t\t\trte_mbuf_data_iova(dsts[i]), buf_size, 0);\n+\t\t\tret = rte_dma_copy(dev_id,\n+\t\t\t\t\t0,\n+\t\t\t\t\t(rte_iova_t) srcs[i],\n+\t\t\t\t\t(rte_iova_t) dsts[i],\n+\t\t\t\t\tbuf_size,\n+\t\t\t\t\t0);\n \t\t\tif (unlikely(ret < 0)) {\n \t\t\t\tif (ret == -ENOSPC) {\n \t\t\t\t\tdo_dma_submit_and_poll(dev_id, &async_cnt, worker_info);\n@@ -276,8 +280,8 @@ do_cpu_mem_copy(void *p)\n \tvolatile struct worker_info *worker_info = &(para->worker_info);\n \tconst uint32_t nr_buf = para->nr_buf;\n \tconst uint32_t buf_size = para->buf_size;\n-\tstruct rte_mbuf **srcs = para->srcs;\n-\tstruct rte_mbuf **dsts = para->dsts;\n+\tvoid **srcs = para->srcs;\n+\tvoid **dsts = para->dsts;\n \tuint32_t i;\n \n \tworker_info->stop_flag = false;\n@@ -288,8 +292,8 @@ do_cpu_mem_copy(void *p)\n \n \twhile (1) {\n \t\tfor (i = 0; i < nr_buf; i++) {\n-\t\t\tconst void *src = rte_pktmbuf_mtod(dsts[i], void *);\n-\t\t\tvoid *dst = rte_pktmbuf_mtod(srcs[i], void *);\n+\t\t\tconst void *src = (void *) dsts[i];\n+\t\t\tvoid *dst = (void *) srcs[i];\n \n \t\t\t/* copy buffer form src to dst */\n \t\t\trte_memcpy(dst, src, (size_t)buf_size);\n@@ -303,8 +307,8 @@ do_cpu_mem_copy(void *p)\n }\n \n static int\n-setup_memory_env(struct test_configure *cfg, struct rte_mbuf ***srcs,\n-\t\t\tstruct rte_mbuf ***dsts)\n+setup_memory_env(struct test_configure *cfg, void ***srcs,\n+\t\t\tvoid ***dsts)\n {\n \tunsigned int buf_size = cfg->buf_size.cur;\n \tunsigned int nr_sockets;\n@@ -317,47 +321,57 @@ setup_memory_env(struct test_configure *cfg, struct rte_mbuf ***srcs,\n \t\treturn -1;\n \t}\n \n-\tsrc_pool = rte_pktmbuf_pool_create(\"Benchmark_DMA_SRC\",\n+\tsrc_pool = rte_mempool_create(\"Benchmark_DMA_SRC\",\n \t\t\tnr_buf,\n+\t\t\tbuf_size,\n \t\t\t0,\n \t\t\t0,\n-\t\t\tbuf_size + RTE_PKTMBUF_HEADROOM,\n-\t\t\tcfg->src_numa_node);\n+\t\t\tNULL,\n+\t\t\tNULL,\n+\t\t\tNULL,\n+\t\t\tNULL,\n+\t\t\tcfg->src_numa_node,\n+\t\t\tRTE_MEMPOOL_F_SP_PUT | RTE_MEMPOOL_F_SC_GET);\n \tif (src_pool == NULL) {\n \t\tPRINT_ERR(\"Error with source mempool creation.\\n\");\n \t\treturn -1;\n \t}\n \n-\tdst_pool = rte_pktmbuf_pool_create(\"Benchmark_DMA_DST\",\n+\tdst_pool = rte_mempool_create(\"Benchmark_DMA_DST\",\n \t\t\tnr_buf,\n+\t\t\tbuf_size,\n \t\t\t0,\n \t\t\t0,\n-\t\t\tbuf_size + RTE_PKTMBUF_HEADROOM,\n-\t\t\tcfg->dst_numa_node);\n+\t\t\tNULL,\n+\t\t\tNULL,\n+\t\t\tNULL,\n+\t\t\tNULL,\n+\t\t\tcfg->dst_numa_node,\n+\t\t\tRTE_MEMPOOL_F_SP_PUT | RTE_MEMPOOL_F_SC_GET);\n \tif (dst_pool == NULL) {\n \t\tPRINT_ERR(\"Error with destination mempool creation.\\n\");\n \t\treturn -1;\n \t}\n \n-\t*srcs = rte_malloc(NULL, nr_buf * sizeof(struct rte_mbuf *), 0);\n+\t*srcs = rte_malloc_socket(NULL, nr_buf * sizeof(unsigned char *), 0, cfg->src_numa_node);\n \tif (*srcs == NULL) {\n \t\tprintf(\"Error: srcs malloc failed.\\n\");\n \t\treturn -1;\n \t}\n \n-\t*dsts = rte_malloc(NULL, nr_buf * sizeof(struct rte_mbuf *), 0);\n+\t*dsts = rte_malloc_socket(NULL, nr_buf * sizeof(unsigned char *), 0, cfg->dst_numa_node);\n \tif (*dsts == NULL) {\n \t\tprintf(\"Error: dsts malloc failed.\\n\");\n \t\treturn -1;\n \t}\n \n-\tif (rte_pktmbuf_alloc_bulk(src_pool, *srcs, nr_buf) != 0) {\n-\t\tprintf(\"alloc src mbufs failed.\\n\");\n+\tif (rte_mempool_get_bulk(src_pool, *srcs, nr_buf) != 0) {\n+\t\tprintf(\"alloc src bufs failed.\\n\");\n \t\treturn -1;\n \t}\n \n-\tif (rte_pktmbuf_alloc_bulk(dst_pool, *dsts, nr_buf) != 0) {\n-\t\tprintf(\"alloc dst mbufs failed.\\n\");\n+\tif (rte_mempool_get_bulk(dst_pool, *dsts, nr_buf) != 0) {\n+\t\tprintf(\"alloc dst bufs failed.\\n\");\n \t\treturn -1;\n \t}\n \n@@ -370,7 +384,7 @@ mem_copy_benchmark(struct test_configure *cfg, bool is_dma)\n \tuint16_t i;\n \tuint32_t offset;\n \tunsigned int lcore_id = 0;\n-\tstruct rte_mbuf **srcs = NULL, **dsts = NULL;\n+\tvoid **srcs = NULL, **dsts = NULL;\n \tstruct lcore_dma_map_t *ldm = &cfg->lcore_dma_map;\n \tunsigned int buf_size = cfg->buf_size.cur;\n \tuint16_t kick_batch = cfg->kick_batch.cur;\n@@ -478,9 +492,9 @@ mem_copy_benchmark(struct test_configure *cfg, bool is_dma)\n out:\n \t/* free mbufs used in the test */\n \tif (srcs != NULL)\n-\t\trte_pktmbuf_free_bulk(srcs, nr_buf);\n+\t\trte_mempool_put_bulk(src_pool, srcs, nr_buf);\n \tif (dsts != NULL)\n-\t\trte_pktmbuf_free_bulk(dsts, nr_buf);\n+\t\trte_mempool_put_bulk(dst_pool, dsts, nr_buf);\n \n \t/* free the points for the mbufs */\n \trte_free(srcs);\n",
    "prefixes": [
        "v2"
    ]
}