From patchwork Tue Sep 20 14:04:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Savisko X-Patchwork-Id: 116501 X-Patchwork-Delegate: rasland@nvidia.com 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 9D46AA00C3; Tue, 20 Sep 2022 16:06:41 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9B1E742B89; Tue, 20 Sep 2022 16:05:45 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2066.outbound.protection.outlook.com [40.107.223.66]) by mails.dpdk.org (Postfix) with ESMTP id 6A2CC42B7C for ; Tue, 20 Sep 2022 16:05:43 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UH70yJOpTp0Qs9tLUe81ztzxTXw3k3aAbHPdlaz3NigMDgdVvElRrgzO0uQ9t53z6Q/t514M3470LQsDQophSjlpd7GyqzVU2bHJ9QHDKm6JgCUezlypTXbwmbadxKcZfiPS8oQ39LmHYh/HemZ5PjuP56GwfDS4uqMRXVYQ6N7vQfFzP9Sr+bWCafs8HwqTHmBTEA4uaMMQHlYN8qEtYRDbnPP4MJi4beGQYIJyZ8C30JYbkfSZQUYvKXTpyxNfHugcWbR+QrnjpxYh8DH4k+kF8WLqasyEu9oZ592kqsn+WtXHI9gAj4vKTTmtSYB/IJNVZK3se/d80O+0XCa4Qg== 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=VVGt7U80prxDo4yLj+bOgNkzhvHygrd+3OzBXaG/dI4=; b=UHEpeabX8+x89Vg1vLV5ZNm6gpybPzwMTiAsyJxBfkXQ6/f//LUP74o89ck5Jm1/fo/EV0/PjV8q41Vs4MNFAk0KRjvp84P+Xaf4YJvm8gufIy1vwxRBi3jJC07TOmTirNzRRw19p80KHWez3KsHkGttJXvgaQbCctrznLmyXJn8NfUvoBi9uKHlbIkETo9wUTEK80bnIyLHqaMspUeDMF3yw9QSsafLCluYvQ16aGcD+ut+0UiLm/dJfauBM07+T5rDghqu0flOMtvxZwvAXB5QtHpgGooa7l50nG8mEZ/u+8B+DeKZyyPrhavcj0E6r/xb7jnP9TYwnbBNIapfog== 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 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=VVGt7U80prxDo4yLj+bOgNkzhvHygrd+3OzBXaG/dI4=; b=cR6n/ur23Ojv6LbI0CbtqTPAT9nN37m0R+7bKzsXbZ5NJjj3HFFR0+X/KCfqNeifl1sdnVNY+wJ1XsrZESZzTznwrfgvonVocE2Vs2wbvBOiszrJythZ52Yjz4xPc7x1FmosbAcsxhAJ5UNp3yyJ8ekyvqNS5xIzhFtg46CcubKeoVaTWykUCexXqOMDCEdTx6Tfft1z3mJ+4WfoGQh3KZa46HPmm7lDvmxpsHU8fqwCPxHZV1XHUk6ERoSzXAyTNf3tTk6Jp1cd9vuHKUBQD4+9fcAfIgF6n3UKa51k/zB7ugrv+HTf2TkwLErtadPRtPkwyyMfYCqifAYewHVcwg== Received: from MW4PR02CA0024.namprd02.prod.outlook.com (2603:10b6:303:16d::9) by MW3PR12MB4555.namprd12.prod.outlook.com (2603:10b6:303:59::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5632.21; Tue, 20 Sep 2022 14:05:41 +0000 Received: from CO1NAM11FT048.eop-nam11.prod.protection.outlook.com (2603:10b6:303:16d:cafe::c9) by MW4PR02CA0024.outlook.office365.com (2603:10b6:303:16d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.14 via Frontend Transport; Tue, 20 Sep 2022 14:05:41 +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 CO1NAM11FT048.mail.protection.outlook.com (10.13.175.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5632.12 via Frontend Transport; Tue, 20 Sep 2022 14:05:41 +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.986.26; Tue, 20 Sep 2022 07:05:10 -0700 Received: from nvidia.com (10.126.230.35) 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.986.29; Tue, 20 Sep 2022 07:05:08 -0700 From: Michael Savisko To: CC: , , , , Matan Azrad Subject: [PATCH 09/10] net/mlx5: add send to kernel action resource holder Date: Tue, 20 Sep 2022 17:04:21 +0300 Message-ID: <20220920140422.98165-10-michaelsav@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220920140422.98165-1-michaelsav@nvidia.com> References: <20220920140422.98165-1-michaelsav@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1NAM11FT048:EE_|MW3PR12MB4555:EE_ X-MS-Office365-Filtering-Correlation-Id: df40e1db-4b12-4638-d825-08da9b1133e5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HufMi4O1DjM61/hXkTWXupphh8E2zmFhjvrhl+D274PBtR/yoSYQfJTNaQj77eiNzOznobY8X56t8zD2r72f/ThOyFDwzmdEv1glniPj7yumX6+9bTrfMufgZN4HgGPd6kdaeh+2/uNt+vCSRuCS2HQZ08iQ83gyT4LAcKGR7Ygv8FItS3dc+QwjCaoIwPI6VwhEnQvM9NH73xG9GtPQauOY45yaaUsZOtJBl3Wh9b2XD5SOLLPRnQVxgt0IfVBNR7XLLb2FYrOfjYLU18HgHYa8x2kswE/b+NP8xv7Bxeb6ETvgJAGeY9bjiXTru7B20sZ19MI2NlRkRpIjpjOMdAS2/E6lWZ8UAqvLRTwDiIpjXDaiAh8fm9NdeIHjwwweZj8Bwi98tBy7cBVJe1/fhupBs1hkMNpMzyRN3wrQjnHF+QKgvYh3IYhOPSro0r3JQNuPIE7nOzmuSyjgxHiuVCrLjurvy/b8DtGKzzBUmaBlwh4YJ1yf661pgYra8r/BlrTrrQIY/gNzqcida0vviei3GhLND6Snpl8aWnKmjmu6WZtQiGESNh76YqLPNHV7UutfQHPv2Ic+EuAjssQifPiMlF3k55HvBe2VBDt8zS2F6fCpCgh3s8n9ohRFJJdcL8W8yYJFnJYz4PiNhMPCfqQkyPSc7YLvO28sbV0MVK5f+0lOZzo8cLr6tab/paJUw0NX1WE5zksIVBmeiiiNy5wyaHcF9vLnMxcn9W65uU5uSc8BUxKEDaEo8iWrKGXhAw5UnMTzSxgVzBK2AZUPvg== 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:(13230022)(4636009)(376002)(396003)(346002)(136003)(39860400002)(451199015)(36840700001)(46966006)(40470700004)(16526019)(82740400003)(8676002)(107886003)(7696005)(26005)(6666004)(478600001)(40460700003)(356005)(316002)(6916009)(54906003)(5660300002)(186003)(7636003)(426003)(336012)(2906002)(6286002)(1076003)(8936002)(41300700001)(70586007)(70206006)(4326008)(36860700001)(47076005)(2616005)(36756003)(55016003)(86362001)(40480700001)(82310400005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2022 14:05:41.2234 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: df40e1db-4b12-4638-d825-08da9b1133e5 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: CO1NAM11FT048.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4555 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 Add new structure mlx5_send_to_kernel_action which will hold together allocated action resource and a reference to used table. A new structure member of this type added to struct mlx5_dev_ctx_shared. The member will be initialized upon first created send_to_kernel action and will be reused for all future actions of this type. Release of these resources will be done when all shared DR resources are being released in mlx5_os_free_shared_dr(). Signed-off-by: Michael Savisko --- drivers/net/mlx5/linux/mlx5_os.c | 11 +++++++++++ drivers/net/mlx5/mlx5.h | 6 ++++++ 2 files changed, 17 insertions(+) diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c index 0741028dab..840e650045 100644 --- a/drivers/net/mlx5/linux/mlx5_os.c +++ b/drivers/net/mlx5/linux/mlx5_os.c @@ -708,6 +708,17 @@ mlx5_os_free_shared_dr(struct mlx5_priv *priv) mlx5_glue->destroy_flow_action(sh->pop_vlan_action); sh->pop_vlan_action = NULL; } + if (sh->send_to_kernel_action.action) { + void *action = sh->send_to_kernel_action.action; + mlx5_glue->destroy_flow_action(action); + sh->send_to_kernel_action.action = NULL; + } + if (sh->send_to_kernel_action.tbl) { + struct mlx5_flow_tbl_resource *tbl = + sh->send_to_kernel_action.tbl; + flow_dv_tbl_resource_release(sh, tbl); + sh->send_to_kernel_action.tbl = NULL; + } #endif /* HAVE_MLX5DV_DR */ if (sh->default_miss_action) mlx5_glue->destroy_flow_action diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h index 8af84aef50..b93d451af6 100644 --- a/drivers/net/mlx5/mlx5.h +++ b/drivers/net/mlx5/mlx5.h @@ -1178,6 +1178,11 @@ struct mlx5_flex_item { struct mlx5_flex_pattern_field map[MLX5_FLEX_ITEM_MAPPING_NUM]; }; +struct mlx5_send_to_kernel_action { + void *action; + void *tbl; +}; + /* * Shared Infiniband device context for Master/Representors * which belong to same IB device with multiple IB ports. @@ -1229,6 +1234,7 @@ struct mlx5_dev_ctx_shared { /* Direct Rules tables for FDB, NIC TX+RX */ void *dr_drop_action; /* Pointer to DR drop action, any domain. */ void *pop_vlan_action; /* Pointer to DR pop VLAN action. */ + struct mlx5_send_to_kernel_action send_to_kernel_action; struct mlx5_hlist *encaps_decaps; /* Encap/decap action hash list. */ struct mlx5_hlist *modify_cmds; struct mlx5_hlist *tag_table;