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 D5D4D44145; Mon, 3 Jun 2024 12:57:25 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E06A242E8C; Mon, 3 Jun 2024 12:57:16 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2089.outbound.protection.outlook.com [40.107.92.89]) by mails.dpdk.org (Postfix) with ESMTP id 9693742E91 for ; Mon, 3 Jun 2024 12:57:15 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HB3OLqdMmPa7235Huf21n9cK6OH2Fs5j7T5t7Gmr4Pfj4AIoSUY3YCmWxXa4rJMrH9Tnnu8CG3G8NR7H0QzC615+R5jLdsPt/NKe3qXLqxEmG9VfK3r1jR89bl1l/zqrcYmWfnfsr+azvy1L4qYmrP5giP0hvxxiLC8qy1FOChXJx4xPNImRVuncg7vSz1KRLKym8gha6nCCE8EnWXb+lxzZivE7a6sE+mvx9eq6KmOKzW23EMOJ44XBxQJ7OkkwqK6MSd4fw5LQd+RauOW3KP5i3F6cxEGmFXMeK2L4hbC1CRFZU6nKFo/5LL8rWog1U1PPe68SLgQj26k5+hsDaA== 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=KTuM+rWFqgi0Ii3+71H+QZ2K7LS2059jxJTgT2koUgdZGfcudfQGah1PXH0iUoipt/jiO0iFQwJfjCV61y7/S3IBRush4odQTDhvxd+n2JYSq/78Tc5RKD8ATzwmKa8Soq4lUC3axo8aYadTmn7yHb+HxkQgp4o6MEUeg9EQuoDmoLmTsCo/MXsWjXi+jYJn0dM7OpHlNXKfRhNLAToL1l2El5KRCpch8zsBlUbs0VrGManpCFxRqcEkrk87ADMO54NOlLb8N66uUY8v+dYuBrRuCo3bdQngpJK2wRzwDSmsMUYpsfqIKdi+jxGQCPrIVfVu1PXZzArF8F6bBRZmIg== 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=CaG7RHiDbUzmJlbRls/mJRhIoL9L9HjntaJ0Jg+y+12qDj/drxyJdd1d2IVIR39CBtbg4X8ebV4XfZvNSfAERKTmvU7LC/grnb/DQT337+kdhNU4kKhEIUU+m5yeRaJxvZkPLIHqub3iN8ocEvaedDAhXU/s0+Q4GnoYT19X6DrajElEHh0vpCmCMTxc8LMuWqam/YUSMxlJ8qEVc8zpnHOXzUe1lVx8t9xOnkJa5LLOGmb7FXtwhvn0iGJMyPhCce0WFl9b3NUajI0s1Y2THhDaImRZhzICsoNmdlkM6aXzl7v+De/Z0Hlp2FyjFvFasboWYbJsw1hknfifp+5kXQ== Received: from BN9P222CA0029.NAMP222.PROD.OUTLOOK.COM (2603:10b6:408:10c::34) by SJ0PR12MB8116.namprd12.prod.outlook.com (2603:10b6:a03:4ec::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.27; Mon, 3 Jun 2024 10:57:13 +0000 Received: from BN2PEPF000044AB.namprd04.prod.outlook.com (2603:10b6:408:10c:cafe::4f) by BN9P222CA0029.outlook.office365.com (2603:10b6:408:10c::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.30 via Frontend Transport; Mon, 3 Jun 2024 10:57:12 +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 BN2PEPF000044AB.mail.protection.outlook.com (10.167.243.106) 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 10:57:12 +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 03:57:01 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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 03:57:01 -0700 Received: from nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.6) 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 03:56:58 -0700 From: Maayan Kashani To: CC: , , , Yevgeny Kliteynik , Viacheslav Ovsiienko , Ori Kam , Suanming Mou , Matan Azrad Subject: [PATCH v3 5/7] net/mlx5/hws: bwc - go through all the resized matchers Date: Mon, 3 Jun 2024 13:56:32 +0300 Message-ID: <20240603105635.11124-5-mkashani@nvidia.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20240603105635.11124-1-mkashani@nvidia.com> References: <20240602102937.197117-1-mkashani@nvidia.com> <20240603105635.11124-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: BN2PEPF000044AB:EE_|SJ0PR12MB8116:EE_ X-MS-Office365-Filtering-Correlation-Id: b3b17815-de9f-4e1d-ea3a-08dc83bbec32 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|36860700004|376005|1800799015|82310400017; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?mdPSBCK/iWJe1crBY8oRlA9PpJqAephE1NjUdH9yxoVy92dHP1vf+diDEuYb?= =?us-ascii?Q?IAwAG7wgucuN88ZKFgm4u3e8AJW+K8AMnhR2YHrMC5gltDKYaYy3xvhgkyzh?= =?us-ascii?Q?l1ulWB6NtDl6MjbauSDtW7SgUTZmHlgNusFP4fKHRhTMW/lGpu5G2j8J+2tc?= =?us-ascii?Q?brm4sLiRzpiCO+CEsz/mQ9755CJJOXN5qBbLhLNu7q6XFyHxE72Bi1GfsIQ9?= =?us-ascii?Q?qBj4xuYhihI1iM5UF+Lc93I80QYpFmjv0ATov8937MEAaxpZnHjVqOTq9sRF?= =?us-ascii?Q?4K9RzYuXKJeHa9wWGDGrslnwygj/M9cTwLs68MKK8YvlXVyAweQ54lRD/5xf?= =?us-ascii?Q?w16myzPf35H9WyIT/siOjoFBC/lMpBvJ2SOmKvWpSHNKy5jHdqVD/kEzFAEe?= =?us-ascii?Q?D1KGJeBoSZjIjZQVz+NLDMwiPDLaqknZ7I+GjwPV0dYtij6kKuKP1Xl2iSVp?= =?us-ascii?Q?GP1XK+iSsKe5Nr9+Of9qVO0T6U1kYD06pridwkSOjun2BvjZStpjr6Q3PUvb?= =?us-ascii?Q?XFept1CuMZ+DtGrpYwZeM8vgKprAZ2u47NMR7TAiQY70CzX89D6DcGntt8rf?= =?us-ascii?Q?qTrpGgWiSJezSHpzJBIf+fg3+bFJt4HR/XL1qxiOhjb5xLEKriKrVao61T/U?= =?us-ascii?Q?M0/NlHLhDOoPUdQEckhykT3jkcoc9kiQWqB1qZ7o5f1vKW3DrGNaW42Thn0m?= =?us-ascii?Q?PHD9z31gZAw84BuIGB5Dh9iQqtAhZk4l1tGPfCXPmXwx6Sho1GgpTaSuNwmo?= =?us-ascii?Q?6n/EPwtvBkafSn2rzo8sroeXS62xwLPfA9wByIyA4LH2AF+ItkACvFf8TPee?= =?us-ascii?Q?g372g8KurxeZXXaoIiEn6aqd7eRhJzu6uur5hAbQkqRsYsE7sWAjjn5QCELE?= =?us-ascii?Q?IaWJBG6jJpepIbBT5CvRfF9tgacDvrzFLtTje94YKUKWMZkXEQuP11PoJMCh?= =?us-ascii?Q?al1Oj5saRALJYOGoxYOpBXixf1MXXMgx1FW2ELzUFNrmDQV0MrJPv/lRFupO?= =?us-ascii?Q?xuUUPdhDIjfz4j4UHbdjm+KovMclByaVzCM1g90i4Be/MXUtkAXncaQtdI2i?= =?us-ascii?Q?QphajL35HNzr+yq57G/pS1XiPXw3DMvzi6KxkyG6g7dOLruKi5Y4m5v/PmGz?= =?us-ascii?Q?RkREm0pHRl9L8nwuHa4IuDtkMHjL5ICUX7WEAXkOPskQsmWfF9V4fjR+s4Mm?= =?us-ascii?Q?OJVemL8sl7MPpuW+PERyF4gEByruUDfMQNIuQ57wWWKW2G4QYitg6Ot6PtVg?= =?us-ascii?Q?OlrFn4tIxvM6g2N0Er76BBP3qH34HYbSVZXMcbKU55kshYyNtaHfypHsKaA/?= =?us-ascii?Q?WY4sgUZ8K2A+Q18bnrgb5pab6LavM3priL11OBc6LmHyIA5GsIRpHKRBP8Ef?= =?us-ascii?Q?rilH9dFlP4HQxij7mJTCs3+1/5US?= 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)(36860700004)(376005)(1800799015)(82310400017); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2024 10:57:12.2619 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b3b17815-de9f-4e1d-ea3a-08dc83bbec32 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: BN2PEPF000044AB.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB8116 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