From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00083.outbound.protection.outlook.com [40.107.0.83]) by dpdk.org (Postfix) with ESMTP id 49CEB1B4B1 for ; Fri, 12 Oct 2018 12:06:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3OZvGU2BXLRjr4ecjfH4vNn1maYnOc2QjSCQT27MGyk=; b=CqBtoTThf9MOmyr7Q/fXIU7w1ohMMVXgMtPg1nGU/RVCjTDJgwy23TcWtmZEruQr9txYYfhFIfoMB1tgFic3Q94rpUxJcrN7iV9MYT6umPlTGXCHwiRgRsGp5l5BcVIoz0RTFIUVeCvupQ9GLRKEEujlK3nJbcTYKUx/VulCNnQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=shreyansh.jain@nxp.com; Received: from Tophie.ap.freescale.net (14.142.187.166) by AM0PR04MB4676.eurprd04.prod.outlook.com (2603:10a6:208:75::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1228.25; Fri, 12 Oct 2018 10:05:58 +0000 From: Shreyansh Jain To: thomas@monjalon.net Cc: ferruh.yigit@intel.com, dev@dpdk.org, Hemant Agrawal Date: Fri, 12 Oct 2018 15:34:24 +0530 Message-Id: <20181012100426.29349-14-shreyansh.jain@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181012100426.29349-1-shreyansh.jain@nxp.com> References: <20180926180440.31726-1-shreyansh.jain@nxp.com> <20181012100426.29349-1-shreyansh.jain@nxp.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [14.142.187.166] X-ClientProxiedBy: BMXPR01CA0004.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:d::14) To AM0PR04MB4676.eurprd04.prod.outlook.com (2603:10a6:208:75::18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 93f727ac-6369-41f1-e831-08d6302a4f35 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM0PR04MB4676; X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4676; 3:6iA6xFj5hjXP61bocD/91Wx1um/MdtsX6Fleu3ENU/uaJ0nTSJJ/64v7SlVfz3KX+/tTr8HFOkSLIJs/LOT8nJRbNmi8JZwJNdx8YpnNVB7oWa2ne0YegYu1Cn+0dWnbTuMjed58fxTkSD1p/30roCmjP8FTZdJzSlLz9XUd2QD64NP+XZebrTRBpqCoWnuEo30ZXBfLDLeqeKqB/5TcRDRVWa+4gmPcwwCFq9cvTM9qd743XQt6CSNOjZ/rcdpg; 25:i70vGA4cPAe2g/inTvVGkO3F09CMoXBrWnl3466rv6ESz6+7mAN9Bz4NTTeg99gcEJyEoWk95FUVNDjUCIV3k3orSuX3P/y4meAW5JIuhMCz1k3weJF1OCV8+XencYlR8xxrRH+/O3A/di8RUVNThEc75mh1ySm8+rPa42TKnJ4GetueN0d56zR7gZNMrU4m1EF1LkAOr3W21aFjCKW8sjfnzGVymib1HGJllmTWRyQV0vY8Qma2mnNfmuh3S02l/Wl7wrwTCJoB8T/ABWayRZkm+71fcweQmryUtYPN3dnLdFtbstNpoXNsSsPnRP1oUH9/zDsGhjSXT6Yr6cXc7A==; 31:7J0KWF2MJB2kAWtHtAtcK/mJ0jloPeUnfe4V1EduiJZCgQfyRlgQi+ZTEIHDkCHC8o82j9zKAcMpmPe4lPbRUFiBDNi8q+0gH4bZY7iYzZgD8JQ1konbPGYBRNe5QsfzAnN0HgST2HgBTjzmbYsrVqXPFlf/5dpOZ8xOs3CyNBzPDfw3b+HFILFbjppP9fSy4iB2WW+HzBGm4ZW+Kea6OLvGcfRZ8ILj4XPcSfMSRsI= X-MS-TrafficTypeDiagnostic: AM0PR04MB4676: X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4676; 20:DQq88wcU0zxo/9xzhgjdNYL/N1nh4GLUyJCJBa9yswOIHsX3/YRGRcf/aSQorM4HuE8jbI1i6YYkh/8MDTc82vvqRQFpMIYlg4yMfl6+S/Xr/4CU8hbeYTf0ENwa4LS/f2BPpra1S9RNZc7STj5b7uJNQ9jh+f+eyQu+6YmBqKGmEh9nozjKIMyim8w83pTVhXS2obJNeKhAbUwxLaGjFaLqpQDdcddVMkTqIClAdARry09leN+eJ4MAdv3xyKc0lPZ6Nsawy1nUYywCghKNnteivDkCr8St1F98PO9a3bcUN6QpAZEaTq1oWCi8l3LmAFrQCP68a8RxtLqjeemD43MnRnFKYFaGfJomeh6TAbNLkz9ohVviWUPNVPfJt55JfZ5vFgtPjqzMTKFQn9YJWfUncQos358rn2ylk6ztW0BdYwVi77a5qHrRrAc89YN1ObUUIbg3xCzjvin8XZqhQ2GO33lAzhyxxk2k8AMwN7PiVtwqcGwnd49AtQ7qCgE4; 4:lKpevTpAC/TGdhlGUPSv9FMttYxvwYQL4e3vFObSVxCZYGx17MfFfKE2TDDsa9q3G9aE0RE9zBUEMNCh1zXm/jshR6Pe+V0uIObliqi+bnLcJYu0m2eL7FGCX67riuAmZgawgd7mjHMvnhUGv613QKWfxB+OnxSuvukQsMYt75D4rXHSGBU1V2ZWallr0/ImrwRFXoUEFnUbXYFBiUXyrqzFxi2y96C5URw/JhfkVjjHVOGio9S3aQygEVyFcqCh3l5w13zzQYQ7RArSLfWV0aCzfsuBBMLHYDY189hz6uy+tmDjM/c2P1rVxvYabY9D X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231355)(944501410)(52105095)(6055026)(149066)(150057)(6041310)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051); SRVR:AM0PR04MB4676; BCL:0; PCL:0; RULEID:; SRVR:AM0PR04MB4676; X-Forefront-PRVS: 0823A5777B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(376002)(396003)(346002)(366004)(136003)(39860400002)(199004)(189003)(2906002)(52116002)(16526019)(14444005)(53936002)(8676002)(478600001)(186003)(386003)(446003)(105586002)(7736002)(106356001)(6512007)(6116002)(86362001)(3846002)(81156014)(50226002)(68736007)(1076002)(47776003)(5660300001)(6506007)(8936002)(78486009)(36756003)(316002)(26005)(66066001)(6666004)(25786009)(55236004)(81166006)(11346002)(48376002)(76176011)(44832011)(2361001)(956004)(51416003)(2616005)(97736004)(1006002)(50466002)(486006)(476003)(305945005)(16586007)(6916009)(4326008)(6486002)(2351001)(110426005); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR04MB4676; H:Tophie.ap.freescale.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM0PR04MB4676; 23:gT42yylq4VXhh4PedDZJnon2eCoinvWCrytE496Ry?= =?us-ascii?Q?sTBqCs3IJLUJVmGwjfw/pjAmbfTxK9H+xWJv847zibhczTnx4kakyQO3/jCF?= =?us-ascii?Q?mUd+Kukm2OpFe3N0Zuk8Feo+EXOmBA5uuFL0b48m1UY24Rmq30gZy+LLS72Q?= =?us-ascii?Q?q1DV2jhfHc81/ey+VgXNN5/BMmSW/VC2dOBRrzm5U8yvQ779JvAmERCGWaVn?= =?us-ascii?Q?8BYaTpInk6buYq0eWN67keBsQLBKLGfbHi7iOdc6jvZoGeHkJg6nmaGWzlK2?= =?us-ascii?Q?EIbfmvfQSgeM5Wsy43tb1PKaK4jRMmlS5+OXsUPqnMYfKIUVHVrvhq/iLnmA?= =?us-ascii?Q?MUVBSjv9Efuc2qnCLCWeLuNrclxyw1vA6b5x6cfhEOUmZJvsp9YHtSHkonr2?= =?us-ascii?Q?/DbrXlPXasZZwYsD7P1SkupwQWClu2g6eTIH3M027j7HLEsqGYD7RoBFKQia?= =?us-ascii?Q?xAus5Fv3iP2JUQMF1zoPdnpQXjoYbNWPCHjEaJ8Qyvde0eyeNyEby4EsQfbe?= =?us-ascii?Q?+dEsG1irUCWzHMnjBdL4XvTUEDj2TeXmf0Vk2e7R+nYyXCM2Z5HnzgEqOY3V?= =?us-ascii?Q?H4+ax7unD0OiLRwRYMqZQT9Cy9iFiLXyQmJNkaNFd/nxMYcK98YY7mERqYkJ?= =?us-ascii?Q?yNCcL5yUqBkNX3Q0WwXgmMDaUJ6jBWovh62N2btnjcq6L5YkD9oZwjrnACMD?= =?us-ascii?Q?XGsRJbAUhUY0n+YxlpRXw43QILYRVWJJnifY7OhFvNYBlB5HTddfTeH952rk?= =?us-ascii?Q?+lJyjd/noKNJ7g7bc8UzfnaGQKFDE+FQEeST5qCLsGNPpvqX8Wi5uZc1wCCU?= =?us-ascii?Q?XmgqfNG/OMWSVG/G71Wpzr0UmwNe7GMSG4uR1R9p0OUGe9sEcfnbQEParJfy?= =?us-ascii?Q?O5pb/dmxYncQ8uiAR+bKggdyuuf9uZtO/3fG0VnGIgsVFOxsjgQ076F8IxhT?= =?us-ascii?Q?w7ufsCu/oi9gmTvFlMZRvmnYpLpfK6vxb04HdSYCaWXGuke7S/GC/xBbDEBR?= =?us-ascii?Q?mQ/OVpnpQuXfUOux2UmW0SUj9CdFM7S1/nwMAMdATvDYcrWSYUxk0oWe0aEk?= =?us-ascii?Q?NHngwjIDIJllBbgcFOaD1Zamb06KHeikwRvlQFrAD3/r4BToi44ARILnUEwW?= =?us-ascii?Q?8T3rUd43YYw75BORvlRvgJyAkXNqzceoQlKJmu++vnXfEjvtMAXrgTNIWXF9?= =?us-ascii?Q?HL1vNcCS9zWH8gh98kiVQHsIAKwo/GIlDIpOHoyel+6Ar5WcUX/wvv3MHQbe?= =?us-ascii?Q?fIWWRYh9NDfiDVnB2+QAQaD0dhk/mJgar04RdQ5g/a3wiEYqMmqwWrgR1FK5?= =?us-ascii?Q?nHx6Y+7uVaXWuNRjXsDKsnNU4rhOwHOiI4Vx/V2xa8ZqVL3gotiMkVPisbPs?= =?us-ascii?Q?VC17A=3D=3D?= X-Microsoft-Antispam-Message-Info: cNpZkuST6bB/qmNhrNBR/5dk94Jma+6HB3cf0E3fQSLraITZMNWUGfdqaWZemI6j/ljm6DgXLO44XfyUXUShhXQffq3oBTF6ZkL7q7g1J20a+qC9ELcbTDcV9daeFeS5AmMH7RRTwBaoDBmYtG3wo/KKgLyqDlYosyTrmyqUN5Cg6c03fQXI8SgKMcTVOnnLD6hbuvcITQEAQQ9mmvjbb1+7UUUT1v69Cih+S1dx8eHBXiAfXBsOWrK8jyUftIB6GLC35xnTS2J0xgc4PV+/JzoUo27TZU+tQAVLqAMBqBrcW4cjuv++TPfA/kIVQZaN4c24B4uGXNmnvuXg3PTQqJ1pjiDXx5AAC4gPei5WWtA= X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4676; 6:p/CF29tY5GX6kIoUBuEdTNLIWjR2yOdo+64f46kMXI/0ubI2NqCQtZ+tsqL2hDQghJqwr9/nfkYZxCzwbwKQ+Afk+deH05kMg2J5hU8SmxFKNp3e03sM0BF+08WTo7rTfpnG8rOCQ2yZsLx0NemNo9qVI6/TQ4DDFkf7vxuWqKB1TNlG2PRtQGXF9O+coWk1rqSv7YpSUYSNIMAW5d/7tHCJZzoQDbTNxCyXuRz1R10KLYUA6/+wnOb8WdL/8eR78VzOwt8zE0WQlmtRVL4sYfeiJGhrnS9AM+1fmOCie4IJvZyNbUfnJo0FH2EAnv7flXoHP8RxmtxW1NKjabl2/7LtpGqxhmjx3hs9xe/W3K3dVbVRJX/7bbhk+PrZ69cwkykXk9/fYDtUZFlkwehSNcoBOgSui41anPaCqI/TRGt4Bpf2OnsjtEAWNExJYhk1146iNBCOdG39nTIXL9h9yA==; 5:dMs9r/ZDL5safj5JiIM4tf+XOY8GaO5Dd9oap19OGrscQwyDew5kNdewlGFMcZ+ypjAaqL4mhsH3CCLjbRh2G8EMqQ3s30esEElJ2f7ok+Jv/1k5RbkCGHQ9hov0cF3Pymre8yCi8b9aul6YP5ZHdC7SWP0pZfKH3LnlXtodRL0=; 7:ZdYDb0Zq+QhJoPfzibENq9HURcM3w0EOyxqtOWetkeGVxUXpIV2BvCT7lA5eNUYM4Ipp/l7z5Za43gHfz24BSyJ948M1rbBZ6B0m2UUOkRSmv7rTcAE+NsBswbFImQ2UbjccfdzKerRryge18fCDInGOiJjfH1ACbDGBPwkawyT8yOG3rGJR5pI+Je8pPnK+FCh5IDPtprsdPrdZIq5zWAklhyuEELin8dRNiw4wOICVrUY2kGmHROQQKRhf1wXT SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2018 10:05:58.5369 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 93f727ac-6369-41f1-e831-08d6302a4f35 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4676 Subject: [dpdk-dev] [PATCH v3 13/15] net/dpaa2: enhance the queue memory cleanup routines X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Oct 2018 10:06:00 -0000 From: Hemant Agrawal Earlier the tx queue data was getting cleaned up in close while rest of the functionality was in un-init. Now a new func is created to free queue memory. Signed-off-by: Hemant Agrawal --- drivers/net/dpaa2/dpaa2_ethdev.c | 56 ++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c index 46fa38f4a..27ae4740e 100644 --- a/drivers/net/dpaa2/dpaa2_ethdev.c +++ b/drivers/net/dpaa2/dpaa2_ethdev.c @@ -291,6 +291,35 @@ dpaa2_alloc_rx_tx_queues(struct rte_eth_dev *dev) return -1; } +static void +dpaa2_free_rx_tx_queues(struct rte_eth_dev *dev) +{ + struct dpaa2_dev_priv *priv = dev->data->dev_private; + struct dpaa2_queue *dpaa2_q; + int i; + + PMD_INIT_FUNC_TRACE(); + + /* Queue allocation base */ + if (priv->rx_vq[0]) { + /* cleaning up queue storage */ + for (i = 0; i < priv->nb_rx_queues; i++) { + dpaa2_q = (struct dpaa2_queue *)priv->rx_vq[i]; + if (dpaa2_q->q_storage) + rte_free(dpaa2_q->q_storage); + } + /* cleanup tx queue cscn */ + for (i = 0; i < priv->nb_tx_queues; i++) { + dpaa2_q = (struct dpaa2_queue *)priv->tx_vq[i]; + if (!dpaa2_q->cscn) + rte_free(dpaa2_q->cscn); + } + /*free memory for all queues (RX+TX) */ + rte_free(priv->rx_vq[0]); + priv->rx_vq[0] = NULL; + } +} + static int dpaa2_eth_dev_configure(struct rte_eth_dev *dev) { @@ -868,23 +897,13 @@ dpaa2_dev_stop(struct rte_eth_dev *dev) static void dpaa2_dev_close(struct rte_eth_dev *dev) { - struct rte_eth_dev_data *data = dev->data; struct dpaa2_dev_priv *priv = dev->data->dev_private; struct fsl_mc_io *dpni = (struct fsl_mc_io *)priv->hw; - int i, ret; + int ret; struct rte_eth_link link; - struct dpaa2_queue *dpaa2_q; PMD_INIT_FUNC_TRACE(); - for (i = 0; i < data->nb_tx_queues; i++) { - dpaa2_q = (struct dpaa2_queue *)data->tx_queues[i]; - if (!dpaa2_q->cscn) { - rte_free(dpaa2_q->cscn); - dpaa2_q->cscn = NULL; - } - } - /* Clean the device first */ ret = dpni_reset(dpni, CMD_PRI_LOW, priv->token); if (ret) { @@ -2027,8 +2046,7 @@ dpaa2_dev_uninit(struct rte_eth_dev *eth_dev) { struct dpaa2_dev_priv *priv = eth_dev->data->dev_private; struct fsl_mc_io *dpni = (struct fsl_mc_io *)priv->hw; - int i, ret; - struct dpaa2_queue *dpaa2_q; + int ret; PMD_INIT_FUNC_TRACE(); @@ -2042,17 +2060,7 @@ dpaa2_dev_uninit(struct rte_eth_dev *eth_dev) dpaa2_dev_close(eth_dev); - if (priv->rx_vq[0]) { - /* cleaning up queue storage */ - for (i = 0; i < priv->nb_rx_queues; i++) { - dpaa2_q = (struct dpaa2_queue *)priv->rx_vq[i]; - if (dpaa2_q->q_storage) - rte_free(dpaa2_q->q_storage); - } - /*free the all queue memory */ - rte_free(priv->rx_vq[0]); - priv->rx_vq[0] = NULL; - } + dpaa2_free_rx_tx_queues(eth_dev); /* free memory for storing MAC addresses */ if (eth_dev->data->mac_addrs) { -- 2.17.1