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 ED90544144; Mon, 3 Jun 2024 10:26:52 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E325742E02; Mon, 3 Jun 2024 10:26:46 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2064.outbound.protection.outlook.com [40.107.243.64]) by mails.dpdk.org (Postfix) with ESMTP id D4A0B42E20 for ; Mon, 3 Jun 2024 10:26:44 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bVg6wzygP2A+d1v7h9WR4GQHUbJxbZTV1ZDeXi9YkLWu+YPMsNKJIRmafti5oaWgawkhcELNdCGeF1XzK2A7bp/CeZf+7QWm8/iUfHbgYK8kNjT+CO3ONtojy3RoSTU+kktQcDuXq21CQdOr+Edhv86buwqdBOr34ml6F/aWYU2ANviuZTHHOYksS9u+EodVuCUYNSyDMTKB4GPfWZEdj0262gckA2qbGNoVTDwOr6qkq0YLJAHzTdRSh/XhA/GcF9bk6Hhxxt/5g0vBiQeKEHeaRj9xucExt1OG+Iz5YY/3v/rtwhF+qq4qkZ0J3H68J2N8J1/u77MrWo3NpC20Rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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; bh=ldyDCuF3CWdDeEDN+op4Vwv/ki6s0pyl2c3B9wKGOBo=; b=BBHzTi4F+uRaf6vFkpYDKLhu4DdfitF+sofThTClMOEyaXaul8HlyVIUFxBsHhjUywSugur5YoD8rHCEopJtUM5NaJ3TzIhZ8vOTXxbDCTYGSv8UY8OKXCudTXkq1nkAWsSf93wJStlboT1N2X0yukqFiMAGi8houN8jXyWj8JvIS8rRhcj3ruFWGKtg7NlRkriif7HXOfJVP1pMq0FqQgCQS7oXAHpQd/ua0753Kr2IrqgrY+xZulF7w351f8t8jdL3+EawqB1YhhH/EENIzqaeqHMOMNT5Jxi0NiAHmopSLCQj/gkyzm0Fa7yfOP6rt2qs8hTowBC6MdGB8sb/ZA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ldyDCuF3CWdDeEDN+op4Vwv/ki6s0pyl2c3B9wKGOBo=; b=OvQwGeuA/txvc9GfJImQ65lKIa9G+Ni0eTr4jicg08ZlCUxtvme+fQWXdCG0aCa9cYSbngeXvsHdHQU2lP8WjENgXNuMvyyZVDx7yh8Qto3gm/tiBxVVNceVkik2GQgNzSMCo7OE2h5BQR7F66MvDdzo8MES6pZGQz7RDpVEpHjFny0Oqht+Xf62UoOLVD3lctPMGskxxxNsscD4R1cyrICycY22aWMpGY9NTpcv0t3/kLW3fzl7cAAVAS1ggOvWW8TjHwXRQzxjW1luXuPJIve234Q2x5qXzx+LOdDsD9yKvkBbsla5YEc79bHfQaW6Y5zP8F5e/alvyMcRkEf7Bw== Received: from CH2PR10CA0013.namprd10.prod.outlook.com (2603:10b6:610:4c::23) by SA3PR12MB9179.namprd12.prod.outlook.com (2603:10b6:806:3a1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.22; Mon, 3 Jun 2024 08:26:42 +0000 Received: from CH1PEPF0000AD7A.namprd04.prod.outlook.com (2603:10b6:610:4c:cafe::e) by CH2PR10CA0013.outlook.office365.com (2603:10b6:610:4c::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.29 via Frontend Transport; Mon, 3 Jun 2024 08:26:42 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by CH1PEPF0000AD7A.mail.protection.outlook.com (10.167.244.59) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Mon, 3 Jun 2024 08:26:42 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 3 Jun 2024 01:26:25 -0700 Received: from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 3 Jun 2024 01:26:25 -0700 Received: from nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4 via Frontend Transport; Mon, 3 Jun 2024 01:26:23 -0700 From: Maayan Kashani To: CC: , , , Yevgeny Kliteynik , Viacheslav Ovsiienko , Ori Kam , Suanming Mou , Matan Azrad Subject: [PATCH v2 30/34] net/mlx5/hws: bwc - go through all the resized matchers Date: Mon, 3 Jun 2024 11:25:58 +0300 Message-ID: <20240603082601.4173-5-mkashani@nvidia.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20240603082601.4173-1-mkashani@nvidia.com> References: <20240602102937.197117-1-mkashani@nvidia.com> <20240603082601.4173-1-mkashani@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD7A:EE_|SA3PR12MB9179:EE_ X-MS-Office365-Filtering-Correlation-Id: 70b519e9-4315-4d79-7353-08dc83a6e5fe X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|1800799015|82310400017|376005|36860700004; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?pwRCGr4GrBRYGNCiRWy1ioC37BQWB1ldewtUDiiOUWeayFKmrUud/DJ/G8ej?= =?us-ascii?Q?KaaH+adqlRr/1icofaCt3X9Mnlp4no2HmEp9BE+koqE/a0uTO49y1eB29RFo?= =?us-ascii?Q?C5TSk/blaK4SvHA6QrwWCBOjKGt+xyypC4yT1lmyL+JBKWdnLN/B/E9QqNbV?= =?us-ascii?Q?UWz2DGhZAVWvQVStT2EHBacUKBw+yNRMly7RM6PnL4mMtPKghQaa4x8c5ura?= =?us-ascii?Q?X2r9H5r9pcLj4nqfwgfwS56u7OjjLttiFRCGgIMfuJH7z0tXUpflp0InTDUv?= =?us-ascii?Q?KKrlKShDl9tYHw6Y27u89x/pZDl+axq/0ZzkkVZ2BHJpHIg6YWEcY5YdE+bl?= =?us-ascii?Q?QY3rpWV1ROchYmlHQV7MhzrggMaKL3rDKpcmet9OGfTyb8xoBkP3RmckGsFJ?= =?us-ascii?Q?1s/79wUegQwjmtR4SOj5HmdK51bVsgQQNqlYyHB0yUvTy1AmjngIsmIaU5YU?= =?us-ascii?Q?LdmmMGBOs8OP48cz1UYPbPfK4nnoY0pnPyhG+h5p0W9btx9deSPC0CAH6zUE?= =?us-ascii?Q?4wyUOxtkwQaQjCrKgbEqyq4Oiguw1dH2i9AYYvS6fmfGzdXG93zT3fgnUDS4?= =?us-ascii?Q?ZBvwNX7q+Zv/x13PHPHjjLSDWI8LTyupCTlDA6WKyJw80yFDUypM1dKR87v4?= =?us-ascii?Q?mjmHDvd/rXp/as3akbe4udY+c6uoXSdmugP5MC9NECpSEWLXuJ19gX9rAvEG?= =?us-ascii?Q?bnZfkpxx9nsmKjAms//h9zO4lA96YLtOMyDCrl8PtMafEDalxvY0sG2r2fF6?= =?us-ascii?Q?aTUDD+fFO91vGzGQz321VuaYCaTxpcwyyAE2WJb99u/DVIcrHEKINrGc5I7E?= =?us-ascii?Q?cpFfMBo653RTpKQQ4kqaJhBujjzVOeI8268fGjb7CkrDAxcq9CH38bld7iDD?= =?us-ascii?Q?lWTUwLfTEqt1+ax8OjH4SEbX4W/AGydX2bBXohW4jhWNoF+E30SotKeUDN9n?= =?us-ascii?Q?Bof+/QLwNQt7TukUFJN5USZCvpC2xig8Fns8uLhmaEHyQVDydj4gZhzcFCmG?= =?us-ascii?Q?cUGkNZG9tLOWHEdCedBo8kPUBkWxNPR0SMY+La+xsThEFJBgsjiet8pema6B?= =?us-ascii?Q?vWIf0N3JHM5tsQjKdBtgccSCu5+oXmbGhh3hLHEFqcG4cg8V38i2dSc/AIh8?= =?us-ascii?Q?C3de51rLcgyHPdDmQUURoWrFFV8C6+w0g7UrUXoTlju/hkupW90Rv17Uj+4R?= =?us-ascii?Q?GUv3t/Q7r5N3UP/08cjNbLQugcN1hb9F1aSk6DPSl6iS6EcGxOyy6yf83B8Q?= =?us-ascii?Q?qU+YOpC5J8EPFTjnblWmAtNT0KGe/YAv5/bVDMnxyWpsRwOumzBLCPC+fjim?= =?us-ascii?Q?0vWGNTdr5BoF/tpYvMdVV7C8Wjqr6jrG0RJS3XMiWzrmh5hjmODc2wjSKa0O?= =?us-ascii?Q?zj6wtazqWgS0x/sDSvFpNxgLZxIY?= X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230031)(1800799015)(82310400017)(376005)(36860700004); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2024 08:26:42.4673 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 70b519e9-4315-4d79-7353-08dc83a6e5fe X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000AD7A.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB9179 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 From: Yevgeny Kliteynik When destroying resizable matcher, we iterate through the list of previous src matchers and free all their action_ste resources. Now that we're supporting growing action template sizes, we also need to support a case when each new dst matcher that we resize into might have bigger max_ste. This includes a case where old matchers in the list would have max_ste 0, while they've been resized into a matcher that has max_ste > 0. Signed-off-by: Yevgeny Kliteynik --- drivers/net/mlx5/hws/mlx5dr_matcher.c | 23 +++++++++++++---------- drivers/net/mlx5/hws/mlx5dr_matcher.h | 1 + 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/drivers/net/mlx5/hws/mlx5dr_matcher.c b/drivers/net/mlx5/hws/mlx5dr_matcher.c index aa5ab96d23..6a939eb031 100644 --- a/drivers/net/mlx5/hws/mlx5dr_matcher.c +++ b/drivers/net/mlx5/hws/mlx5dr_matcher.c @@ -724,6 +724,7 @@ mlx5dr_matcher_resize_init(struct mlx5dr_matcher *src_matcher) return rte_errno; } + resize_data->max_stes = src_matcher->action_ste.max_stes; resize_data->ste = src_matcher->action_ste.ste; resize_data->stc = src_matcher->action_ste.stc; resize_data->action_ste_rtc_0 = src_matcher->action_ste.rtc_0; @@ -752,23 +753,25 @@ mlx5dr_matcher_resize_uninit(struct mlx5dr_matcher *matcher) { struct mlx5dr_matcher_resize_data *resize_data; - if (!mlx5dr_matcher_is_resizable(matcher) || - !matcher->action_ste.max_stes) + if (!mlx5dr_matcher_is_resizable(matcher)) return; while (!LIST_EMPTY(&matcher->resize_data)) { resize_data = LIST_FIRST(&matcher->resize_data); LIST_REMOVE(resize_data, next); - mlx5dr_action_free_single_stc(matcher->tbl->ctx, - matcher->tbl->type, - &resize_data->stc); + if (resize_data->max_stes) { + mlx5dr_action_free_single_stc(matcher->tbl->ctx, + matcher->tbl->type, + &resize_data->stc); + + if (matcher->tbl->type == MLX5DR_TABLE_TYPE_FDB) + mlx5dr_cmd_destroy_obj(resize_data->action_ste_rtc_1); + mlx5dr_cmd_destroy_obj(resize_data->action_ste_rtc_0); + if (resize_data->action_ste_pool) + mlx5dr_pool_destroy(resize_data->action_ste_pool); + } - if (matcher->tbl->type == MLX5DR_TABLE_TYPE_FDB) - mlx5dr_cmd_destroy_obj(resize_data->action_ste_rtc_1); - mlx5dr_cmd_destroy_obj(resize_data->action_ste_rtc_0); - if (resize_data->action_ste_pool) - mlx5dr_pool_destroy(resize_data->action_ste_pool); simple_free(resize_data); } } diff --git a/drivers/net/mlx5/hws/mlx5dr_matcher.h b/drivers/net/mlx5/hws/mlx5dr_matcher.h index caff403a38..ca6a5298d9 100644 --- a/drivers/net/mlx5/hws/mlx5dr_matcher.h +++ b/drivers/net/mlx5/hws/mlx5dr_matcher.h @@ -67,6 +67,7 @@ struct mlx5dr_matcher_resize_data { struct mlx5dr_devx_obj *action_ste_rtc_0; struct mlx5dr_devx_obj *action_ste_rtc_1; struct mlx5dr_pool *action_ste_pool; + uint8_t max_stes; LIST_ENTRY(mlx5dr_matcher_resize_data) next; }; -- 2.25.1