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 CB8EB44172; Thu, 6 Jun 2024 11:56:23 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9F5D340E54; Thu, 6 Jun 2024 11:56:10 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2087.outbound.protection.outlook.com [40.107.93.87]) by mails.dpdk.org (Postfix) with ESMTP id D2CEE40FDE for ; Thu, 6 Jun 2024 11:56:06 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CXl3DrO/62FciymjkUUGuBkapeiDkZ1rjvNsmCumjizmUL2ALd2QDYf4C42wIum2jTUiI9dMCG8gtsvJcxoFwzP7+F5/3O0GYKLhTbxV5F2AmNtCH5nwv855+pu/n/0hk/C2rMgWu9C1ofsdTZ9beVkQ2yr0cbi2nn2ovapxOZVfFQ5jXH+Oh8aQpww8yca4mxbmfrubf2ojTDme8TD7qwIChqWBPiomONEcWqFt4VuBS6HIMcU8cw966Az7akkjJNhE47GpAPjV0RGLYXpH6XwsGgJjASowfozajb4BjStBdPHcHAJQwTqUM7tr4aEq5/v2rIlO8mt8RPFEvosaTA== 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=YDt7C3/hWud9pgIMdL+B0/VSXgIooSAK0m7LIZTneuY=; b=WQ+9xlunFnj+iFuGgzc3csd2jyT0JjtOtRBsXUlC2Rm6rfNpb+ck/5k4Ow3lU5cbeAtj0Iff5AoUuWyK8yaG8R0ChmGclnghYb2y9XYJ0M6TsreMTLxU6rPnuoH5sVUU9BydCFsQDQdiihhFEfet+4L3hFn1xRXjxtJk7l2xHbowQR99WDf9JUEuM26UanJvQn7c5XawvnkfqPDU3qaP/NWP1ADrmjzfgm+5LJ76DBrEXDChvC/ztLR7z0rZNPcZ5hocnjY+/PI2UUDNtsJVisj2KEnH6t8nUtlwRJA7k5/dt8EJ7k30MptGV754H32embkKpV/kRHVJnCICMrAcsA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) 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=YDt7C3/hWud9pgIMdL+B0/VSXgIooSAK0m7LIZTneuY=; b=JWBZdvIFggpfXgWzpV/adXgx7TGMfgWs1GX/q9MkWtrdPcbhHdBtxFIoAqcdeLMY78JE7RUuTxUTDoQvXOtEUF9IZ2xyxmQ7k/vPXkDJi31bF1klfVshidgvupxtOHh3sSqP6mJd9B6NO0eSRP3RDXGcqHYAiCPhP2SGTFJlAkZQnXbgCN8h/ea4Gy7DihrSK3vKnKsw1I6ltTLUdKs/zL3dQW4mUNBmsKnjwDGWd+TxLlrL8vt9DwFcFBbOxCZupJq1DhaS0W3ksLurP/U0svW8wMgOZ94A2iGZr1gB1agyl5qvx2Z44650R0oHyABA2Vat5XcuNso7muCbZlyzSA== Received: from CH0PR13CA0035.namprd13.prod.outlook.com (2603:10b6:610:b2::10) by MN2PR12MB4438.namprd12.prod.outlook.com (2603:10b6:208:267::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.33; Thu, 6 Jun 2024 09:56:04 +0000 Received: from CH1PEPF0000A34B.namprd04.prod.outlook.com (2603:10b6:610:b2:cafe::e2) by CH0PR13CA0035.outlook.office365.com (2603:10b6:610:b2::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7656.21 via Frontend Transport; Thu, 6 Jun 2024 09:56:04 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) 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.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CH1PEPF0000A34B.mail.protection.outlook.com (10.167.244.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Thu, 6 Jun 2024 09:56:04 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Thu, 6 Jun 2024 02:55:52 -0700 Received: from rnnvmail203.nvidia.com (10.129.68.9) 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; Thu, 6 Jun 2024 02:55:52 -0700 Received: from nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4 via Frontend Transport; Thu, 6 Jun 2024 02:55:49 -0700 From: Maayan Kashani To: CC: , , , Yevgeny Kliteynik , Viacheslav Ovsiienko , Ori Kam , Suanming Mou , Matan Azrad Subject: [PATCH v4 5/7] net/mlx5/hws: bwc - go through all the resized matchers Date: Thu, 6 Jun 2024 12:55:13 +0300 Message-ID: <20240606095515.171170-6-mkashani@nvidia.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20240606095515.171170-1-mkashani@nvidia.com> References: <20240603105635.11124-1-mkashani@nvidia.com> <20240606095515.171170-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: CH1PEPF0000A34B:EE_|MN2PR12MB4438:EE_ X-MS-Office365-Filtering-Correlation-Id: 6807d311-b37b-4104-f519-08dc860ee13d 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?JYbZPwFDUAYpVADSTX9yTQWn46Rak0ok2+WvRGuiWDUL0UuEUrutue6VRX40?= =?us-ascii?Q?+/L00Sw33xFDrLlgP6bIL77r15wvgsdkz1Qt+tC7t5v8rr1HkuvCXQlxB6NB?= =?us-ascii?Q?ncyYfVYhWD87vwUjttEqaSYC6dwkyJKtR+tH6Xa61fco80HkukDZt6F9RjEB?= =?us-ascii?Q?vpk2nLClzdfQ/lfZSUEqC9twdr0ovQDXg9mHoHj6LwhskDlXcRx20StLd8PY?= =?us-ascii?Q?LEhVL+P/sNUwe9/sCBzV7fpahzSTQpFBIFH7rcD2uOoWli/V3WftmsU15x9+?= =?us-ascii?Q?MRGsGJMJDeh+0E5/TJ3P5RRlwCOHEcgsfMDKHQ3Y9FCl/178kIxl1fm1dVK9?= =?us-ascii?Q?RackxjaYOKyy4jbOryEqZp5HXr8MZgCy42yQuXi9LpZJIhH+b5YiHBQrOKUh?= =?us-ascii?Q?miTU9OXgXJUTfG9NOYSothA2hceRaHtseN10Yi36pfaPpWCWV5peQkhpItiU?= =?us-ascii?Q?wFYrAk/gFY2tSfbe3VCm/7K41uJtojrbgtbwbOHteWNN9Ew+OLLC91r/NCWY?= =?us-ascii?Q?umMV4U7rsD75tnCZQu1me0ksUiBEIi9NVqreq9pC4NRsBFlg7eS14MVXdeIS?= =?us-ascii?Q?s+m47lN0IeyRM/QAkcfGO7zfGP4GpV9brTT/NuWhp1a7ykgO1J23tCCTTono?= =?us-ascii?Q?LIYms5YiVYziGyousQgQZjILO59Ha9JMKT+WfmY5c77i3eqbKN7G9UUVhdKg?= =?us-ascii?Q?3EMxMe5KFmB1HKk6YDdUJrSG6crD7faKP2gBwqopK3VuYuIVv0Y+DN8VNTFH?= =?us-ascii?Q?onO0KdDa6HF0bJuKKiYkt8f8qIpFz9BbJFoRppvXvH3oR7EsthEECu21AHIR?= =?us-ascii?Q?vdZIda/MiQWQl7kk3Bfwbt5dw7rXMf+xKfIy74UgTTnIlUWR4NDJtvzFFrTp?= =?us-ascii?Q?hwa6QfluZxz5kssUh0/c40805GdJ6b6Rg03a1DVC4mqtWFkrtmcO6ZePFEqH?= =?us-ascii?Q?WadLj3cXu4EPzpMOaOtp2orX57tC95wxQ1GxX0E5M/KgKjIlx770Rqg6yr13?= =?us-ascii?Q?/O8Lg0Fde4Novhs+fi/2a3J98orFf1j7lBvb3O/t41UGflygm9/IG0rMuaXZ?= =?us-ascii?Q?3EBs1cSeX3sx+Y/nlp6Do1mGc3wGsC7ZzbTsFiYKMwYaMxc4ekfd+EM6bllu?= =?us-ascii?Q?EOAf4tw2UnBWtVbpc0UirE0rwZQ0B4q/jrHcnf1P4EwsrhClFtkzYCcduoSC?= =?us-ascii?Q?tCtoK5vtsb8lem6NBtC1ZxGjxYZ3WnRhkKd5Nq9rl4hIG5wGj/1LW6fo8tfx?= =?us-ascii?Q?lFNl08nmMVp32ac5AOW/oRU06xJJ/APk/QSIDGGyoH9TtJHo8s1dAIg1EXMU?= =?us-ascii?Q?l+36eL3v9zPTT5WvSp66yf6dijxpR+qnQfPJsPQvp8q/YTqzfrlai6LwYAET?= =?us-ascii?Q?m1sc5v8LXsaf5lJEIYuB7GFQWLhyqct1ZZcuSsGsczW0jwMK5g=3D=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230031)(36860700004)(376005)(1800799015)(82310400017); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2024 09:56:04.4647 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6807d311-b37b-4104-f519-08dc860ee13d 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.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000A34B.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4438 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 Acked-by: Dariusz Sosnowski --- 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.21.0