From patchwork Thu Apr 8 10:14:47 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "humin (Q)" X-Patchwork-Id: 90874 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: 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]) by inbox.dpdk.org (Postfix) with ESMTP id 0BC34A0579; Thu, 8 Apr 2021 12:14:44 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7021414103F; Thu, 8 Apr 2021 12:14:34 +0200 (CEST) Received: from szxga06-in.huawei.com (szxga06-in.huawei.com [45.249.212.32]) by mails.dpdk.org (Postfix) with ESMTP id B5F60140FB3 for ; Thu, 8 Apr 2021 12:14:30 +0200 (CEST) Received: from DGGEMS414-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga06-in.huawei.com (SkyGuard) with ESMTP id 4FGHBc5NMvzkjY4 for ; Thu, 8 Apr 2021 18:12:40 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by DGGEMS414-HUB.china.huawei.com (10.3.19.214) with Microsoft SMTP Server id 14.3.498.0; Thu, 8 Apr 2021 18:14:26 +0800 From: "Min Hu (Connor)" To: CC: Date: Thu, 8 Apr 2021 18:14:47 +0800 Message-ID: <1617876888-63458-2-git-send-email-humin29@huawei.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1617876888-63458-1-git-send-email-humin29@huawei.com> References: <1617876888-63458-1-git-send-email-humin29@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.69.192.56] X-CFilter-Loop: Reflected Subject: [dpdk-dev] [PATCH 1/2] examples/ethtool: fix Rx/Tx queue setup with rte socket id 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 Sender: "dev" From: Chengwen Feng The ethtool use the socket_id which get from rte_eth_dev_socket_id API in the init stage, but use the rte_socket_id API to get socket_id when setting ringparam. This patch make sure it call rte_eth_dev_socket_id API to get socket_id when setting ringparam. Fixes: bda68ab9d1e7 ("examples/ethtool: add user-space ethtool sample application") Cc: stable@dpdk.org Signed-off-by: Chengwen Feng Signed-off-by: Min Hu (Connor) --- examples/ethtool/lib/rte_ethtool.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/ethtool/lib/rte_ethtool.c b/examples/ethtool/lib/rte_ethtool.c index 4132516..b2e45f5 100644 --- a/examples/ethtool/lib/rte_ethtool.c +++ b/examples/ethtool/lib/rte_ethtool.c @@ -465,12 +465,12 @@ rte_ethtool_set_ringparam(uint16_t port_id, return stat; stat = rte_eth_tx_queue_setup(port_id, 0, ring_param->tx_pending, - rte_socket_id(), NULL); + rte_eth_dev_socket_id(port_id), NULL); if (stat != 0) return stat; stat = rte_eth_rx_queue_setup(port_id, 0, ring_param->rx_pending, - rte_socket_id(), NULL, rx_qinfo.mp); + rte_eth_dev_socket_id(port_id), NULL, rx_qinfo.mp); if (stat != 0) return stat; From patchwork Thu Apr 8 10:14:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "humin (Q)" X-Patchwork-Id: 90873 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: 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]) by inbox.dpdk.org (Postfix) with ESMTP id 116C3A0579; Thu, 8 Apr 2021 12:14:38 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4B44E140FF9; Thu, 8 Apr 2021 12:14:33 +0200 (CEST) Received: from szxga06-in.huawei.com (szxga06-in.huawei.com [45.249.212.32]) by mails.dpdk.org (Postfix) with ESMTP id 36D68140FC0 for ; Thu, 8 Apr 2021 12:14:29 +0200 (CEST) Received: from DGGEMS414-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga06-in.huawei.com (SkyGuard) with ESMTP id 4FGHBc5DTkzkjXc for ; Thu, 8 Apr 2021 18:12:40 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by DGGEMS414-HUB.china.huawei.com (10.3.19.214) with Microsoft SMTP Server id 14.3.498.0; Thu, 8 Apr 2021 18:14:27 +0800 From: "Min Hu (Connor)" To: CC: Date: Thu, 8 Apr 2021 18:14:48 +0800 Message-ID: <1617876888-63458-3-git-send-email-humin29@huawei.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1617876888-63458-1-git-send-email-humin29@huawei.com> References: <1617876888-63458-1-git-send-email-humin29@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.69.192.56] X-CFilter-Loop: Reflected Subject: [dpdk-dev] [PATCH 2/2] examples/ethtool: add closing port operation 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 Sender: "dev" From: Huisong Li Currently, ethtool directly ends the process after 'quit' cmd. In this case, software resources are not released and hardware resources of the device are not uninstalled. This patch adds closing port operation to release resources. Fixes: bda68ab9d1e7 ("examples/ethtool: add user-space ethtool sample application") Cc: stable@dpdk.org Signed-off-by: Huisong Li Signed-off-by: Min Hu (Connor) --- examples/ethtool/ethtool-app/main.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/examples/ethtool/ethtool-app/main.c b/examples/ethtool/ethtool-app/main.c index c6023a1..adabe6e 100644 --- a/examples/ethtool/ethtool-app/main.c +++ b/examples/ethtool/ethtool-app/main.c @@ -256,6 +256,27 @@ static int worker_main(__rte_unused void *ptr_data) return 0; } +static void close_ports(void) +{ + uint16_t portid; + int ret; + + for (portid = 0; portid < app_cfg.cnt_ports; portid++) { + printf("Closing port %d...", portid); + ret = rte_eth_dev_stop(portid); + if (ret != 0) + rte_exit(EXIT_FAILURE, "rte_eth_dev_stop: err=%s, port=%u\n", + strerror(-ret), portid); + rte_eth_dev_close(portid); + printf(" Done\n"); + } + + ret = rte_eal_cleanup(); + if (ret != 0) + rte_exit(EXIT_FAILURE, "EAL cleanup failed: %s\n", + strerror(-ret)); +} + int main(int argc, char **argv) { int cnt_args_parsed; @@ -299,5 +320,7 @@ int main(int argc, char **argv) return -1; } + close_ports(); + return 0; }