From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 85BE845EE8; Thu, 19 Dec 2024 09:04:58 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 330EB40144; Thu, 19 Dec 2024 09:04:58 +0100 (CET) Received: from szxga06-in.huawei.com (szxga06-in.huawei.com [45.249.212.32]) by mails.dpdk.org (Postfix) with ESMTP id 15CF3400EF for ; Thu, 19 Dec 2024 09:04:56 +0100 (CET) Received: from mail.maildlp.com (unknown [172.19.88.163]) by szxga06-in.huawei.com (SkyGuard) with ESMTP id 4YDNQ039W8z20mNc; Thu, 19 Dec 2024 16:05:12 +0800 (CST) Received: from dggemv703-chm.china.huawei.com (unknown [10.3.19.46]) by mail.maildlp.com (Postfix) with ESMTPS id DA5DA1802E9; Thu, 19 Dec 2024 16:04:53 +0800 (CST) Received: from kwepemn100009.china.huawei.com (7.202.194.112) by dggemv703-chm.china.huawei.com (10.3.19.46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Thu, 19 Dec 2024 16:04:53 +0800 Received: from localhost.localdomain (10.28.79.22) by kwepemn100009.china.huawei.com (7.202.194.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Thu, 19 Dec 2024 16:04:53 +0800 From: Huisong Li To: CC: , , , , , Subject: [PATCH] power: use hugepage memory for queue list entry structure Date: Thu, 19 Dec 2024 15:53:19 +0800 Message-ID: <20241219075319.8874-1-lihuisong@huawei.com> X-Mailer: git-send-email 2.22.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.28.79.22] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To kwepemn100009.china.huawei.com (7.202.194.112) X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The queue_list_entry structure data is used in rx_callback of io path when enable PMD Power Management. However its memory is currently from normal heap memory. For better performance, use hugepage memory to replace it. Signed-off-by: Huisong Li --- lib/power/rte_power_pmd_mgmt.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/power/rte_power_pmd_mgmt.c b/lib/power/rte_power_pmd_mgmt.c index a2fff3b765..c7bf57a910 100644 --- a/lib/power/rte_power_pmd_mgmt.c +++ b/lib/power/rte_power_pmd_mgmt.c @@ -97,7 +97,7 @@ queue_list_find(const struct pmd_core_cfg *cfg, const union queue *q) } static int -queue_list_add(struct pmd_core_cfg *cfg, const union queue *q) +queue_list_add(struct pmd_core_cfg *cfg, const union queue *q, unsigned int lcore_id) { struct queue_list_entry *qle; @@ -105,10 +105,10 @@ queue_list_add(struct pmd_core_cfg *cfg, const union queue *q) if (queue_list_find(cfg, q) != NULL) return -EEXIST; - qle = malloc(sizeof(*qle)); + qle = rte_zmalloc_socket(NULL, sizeof(*qle), RTE_CACHE_LINE_SIZE, + rte_lcore_to_socket_id(lcore_id)); if (qle == NULL) return -ENOMEM; - memset(qle, 0, sizeof(*qle)); queue_copy(&qle->queue, q); TAILQ_INSERT_TAIL(&cfg->head, qle, next); @@ -570,7 +570,7 @@ rte_power_ethdev_pmgmt_queue_enable(unsigned int lcore_id, uint16_t port_id, goto end; } /* add this queue to the list */ - ret = queue_list_add(lcore_cfg, &qdata); + ret = queue_list_add(lcore_cfg, &qdata, lcore_id); if (ret < 0) { POWER_LOG(DEBUG, "Failed to add queue to list: %s", strerror(-ret)); @@ -664,7 +664,7 @@ rte_power_ethdev_pmgmt_queue_disable(unsigned int lcore_id, * callbacks can be freed. we're intentionally casting away const-ness. */ rte_free((void *)(uintptr_t)queue_cfg->cb); - free(queue_cfg); + rte_free(queue_cfg); return 0; } -- 2.22.0