From patchwork Mon Feb 14 09:34:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 107438 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 0793BA00C4; Mon, 14 Feb 2022 10:37:24 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 524E541223; Mon, 14 Feb 2022 10:36:05 +0100 (CET) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2051.outbound.protection.outlook.com [40.107.92.51]) by mails.dpdk.org (Postfix) with ESMTP id E4D42426DC for ; Mon, 14 Feb 2022 10:36:03 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Bte8FJ13BwjRJg/IHDfIWe8YWvVDBixlnnXV/3Rst7cHqfmYiHoDeljN06rXIEKNKnkizcxmkHNg6KN/w/QRGYPEvUI0CdJnKAQeoikD/DN/UsRliFvZqRt6ID5DoulZPUQ8pNPSHpetKwJeBTbXdEM9ya2ZvYdjjdgP3UULM2WMMwc35Cys6cm1IUXdtaGmCrIiC+780Rol6oyqiSdIAzeuozNAA7vBpevSIDXpMMsSE44kYAQHbSSk1FkZWWYjpikoZj7pHlKS9o2nsnxGFq0iFmP8apksplnTtU6Lg9ds8dLw+FOMWdBXaftDArju8Y0q5y128squh20HIla66Q== 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=zx1xu3O55v3mFR1H590SNsx5ShlzFLq81LzUun013RU=; b=Cm4cVOk4H+ROy/nPkJRbaYgd0xZUt0DGfHdwA6IimxBK/lbOhJQNCelwpyBOkcuXE08tFCx3+isIqa/SAROSaxL/Ytejd66ktQu9pUoYQFL2ix6ezO7EIf9wf+Q3GbzgOGpxqG3t0pW71LrenNx2KcKRycTE1REPQBylbOCZz42LzYYjBklcCp2yzIvOJpcu8c7CkWW0s1AwnghAfpexFyBc14K9I3QhfVAJq4YS275Odi80lwRSYaY21evs+Y3eybeWC00Dbl4O6CJxgBHJuFJ+GbOKrEx+IJ7hHm0sNw+nbydtmCLoCKlzus6H35Q3VeUjpGN924GGVCU3lBQA8w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.236) 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=zx1xu3O55v3mFR1H590SNsx5ShlzFLq81LzUun013RU=; b=FNOu0osl5uh7S0HsbxTjCO6vr4Clql+V2ON26on0PKZiwQwBdVRXmwtuOzta8oz+nCRCuYWNXZJRmrXDQttkUphbE8KP2wTtAR4QmlNGdocaoWJ9CbLJxKzJbm4zX9gpvgP1Wm/TRMFrxI2Ap+2USeef/0HFUpYphHoqm0uKxCABgTY0IdoivhQs3Z1DEFEiU3PrwvVYOvuzrBm8628r3tYxR9LqPbwEP4WmPp3G20pr6FYGndNrkD1vWrLn/wfHmhpN9+b/KWtSl6PXGIYqofGmNXfZ18XbmTlvaotrD7M92fcA3szg/eAe9n5KbzxgkUpT6rTGcMhKOm81O+jqSg== Received: from BN9PR03CA0905.namprd03.prod.outlook.com (2603:10b6:408:107::10) by DM6PR12MB3466.namprd12.prod.outlook.com (2603:10b6:5:3b::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4975.17; Mon, 14 Feb 2022 09:36:02 +0000 Received: from BN8NAM11FT040.eop-nam11.prod.protection.outlook.com (2603:10b6:408:107:cafe::31) by BN9PR03CA0905.outlook.office365.com (2603:10b6:408:107::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4975.14 via Frontend Transport; Mon, 14 Feb 2022 09:36:01 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.236) 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 12.22.5.236 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.236; helo=mail.nvidia.com; Received: from mail.nvidia.com (12.22.5.236) by BN8NAM11FT040.mail.protection.outlook.com (10.13.177.166) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4975.11 via Frontend Transport; Mon, 14 Feb 2022 09:36:01 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by DRHQMAIL109.nvidia.com (10.27.9.19) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Mon, 14 Feb 2022 09:35:21 +0000 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.986.9; Mon, 14 Feb 2022 01:35:21 -0800 Received: from nvidia.com (10.127.8.13) 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.986.9 via Frontend Transport; Mon, 14 Feb 2022 01:35:18 -0800 From: Michael Baum To: CC: Matan Azrad , Raslan Darawsheh , Viacheslav Ovsiienko Subject: [PATCH v2 00/20] mlx5: refactor devargs management Date: Mon, 14 Feb 2022 11:34:51 +0200 Message-ID: <20220214093511.1592698-1-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220127153950.812953-1-michaelba@nvidia.com> References: <20220127153950.812953-1-michaelba@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 98794858-def9-4c10-f0d9-08d9ef9d6a22 X-MS-TrafficTypeDiagnostic: DM6PR12MB3466:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lNP1G5485gGFk3T0oLL35+wbn/wSsxuQ1CuEjL3iAYMFU20IR1LZAfd8q8aF14+tgqfYkbV+WoMkC+UPRz8HGLi9KfRdXxy3blFf4DFml9rk4yxyj7brLqg4HS7qvX0ZU3a+K5fG9Z4+3xEx4ilHL9UoLtULclgwxALv//KXwU3tO1B/JlwHVuLJ9CrJvnDnewye0Iww/5WAPOkc95lPIDQSEwtAcFW+NzFRjk7VkZvX3gpGeoAyaeD7d8+Sltb9oGcfjgjtbmL/v07lcedswsPiIPcN9tAJG/7iscIRRTBHWcqcuWl85t5Xo7G/23jDWXsiAecmm+FifQ6bRYvye63r42mbOO7aBrk1zFGGy5LhE6sXi+xxWA7hmcIMg3lktuY/PZKmhkKDmoB5Sp0ClJCouHMntiLTvAzpHKvkZiscS32HyPClV0QyyiGo9yaWBFxC+pLRPwPC18dlWfhBV/n/a3675T48mJxM8fMiMhu6CH/jv0ImUP54C/4UEWhn5wZ3zC/jmv0JhFUFwLSTvTPA3ns0jlgmL66xKHlgDCXULzEUba14QwMZnIdLxRKhDwIvGPIm2ZlvrocB0F7dZUoJMv74cQaVjvcwnzH4rNBDmBYhiWWPKfNRjyIzmKA8cpPD0WH6LpXBYo06m0vXVmkpG0/il6Zr0N7TnJ4zcURn8c9kvNk11uhh+vuLyCnfPxJvzVruc62kniQI0DJJAQ== X-Forefront-Antispam-Report: CIP:12.22.5.236; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230001)(4636009)(36840700001)(40470700004)(46966006)(2906002)(83380400001)(426003)(5660300002)(40460700003)(55016003)(107886003)(6286002)(26005)(186003)(82310400004)(356005)(81166007)(316002)(70586007)(70206006)(1076003)(508600001)(4326008)(336012)(8676002)(47076005)(36860700001)(86362001)(8936002)(36756003)(6666004)(2616005)(7696005)(6916009)(54906003)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Feb 2022 09:36:01.4214 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 98794858-def9-4c10-f0d9-08d9ef9d6a22 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[12.22.5.236]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT040.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3466 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 v2: rebase + fix coverity issue. These patches rearrange the management of the devargs on two different levels. The first splits the net driver's devargs into two categories, device-dependent devargs and port-dependent devargs. Arguments that depend on the device are updated once in the creation of the shared device context structure, and do not change even if the user has sent new devargs in the probe again. In contrast, the arguments that depend on the port are updated separately for each port. The second layer deals with the parsing of devargs in the common driver. The common driver once parses the devargs into a dictionary, then sends it to all the drivers that will use it during the their probing. Each driver updates within dictionary which keys it has used, then the common driver checks the updated dictionary and reports about unknown devargs. Michael Baum (20): net/mlx5: fix wrong check sibling device config mismatch net/mlx5: fix ineffective metadata argument adjustment net/mlx5: fix wrong place of ASO CT object release net/mlx5: fix inconsistency errno update in SH creation net/mlx5: remove declaration duplications net/mlx5: remove checking devargs duplication net/mlx5: remove HCA attr structure duplication net/mlx5: remove DevX flag duplication net/mlx5: remove Verbs query device duplication common/mlx5: share VF checking function net/mlx5: share realtime timestamp configure net/mlx5: share counter config function net/mlx5: add E-switch mode flag net/mlx5: rearrange device attribute structure net/mlx5: concentrate all device configurations net/mlx5: add share device context config structure net/mlx5: using function to detect operation by DevX net/mlx5: separate per port configuration common/mlx5: add check for common devargs in probing again common/mlx5: refactor devargs management drivers/common/mlx5/mlx5_common.c | 345 +++++++-- drivers/common/mlx5/mlx5_common.h | 51 +- drivers/common/mlx5/mlx5_common_pci.c | 18 + drivers/common/mlx5/version.map | 3 + drivers/compress/mlx5/mlx5_compress.c | 38 +- drivers/crypto/mlx5/mlx5_crypto.c | 39 +- drivers/net/mlx5/linux/mlx5_flow_os.c | 3 +- drivers/net/mlx5/linux/mlx5_os.c | 887 +++++++++--------------- drivers/net/mlx5/linux/mlx5_verbs.c | 9 +- drivers/net/mlx5/linux/mlx5_vlan_os.c | 3 +- drivers/net/mlx5/mlx5.c | 872 +++++++++++++++++------ drivers/net/mlx5/mlx5.h | 216 +++--- drivers/net/mlx5/mlx5_devx.c | 19 +- drivers/net/mlx5/mlx5_ethdev.c | 31 +- drivers/net/mlx5/mlx5_flow.c | 50 +- drivers/net/mlx5/mlx5_flow.h | 2 +- drivers/net/mlx5/mlx5_flow_dv.c | 93 ++- drivers/net/mlx5/mlx5_flow_flex.c | 4 +- drivers/net/mlx5/mlx5_flow_meter.c | 14 +- drivers/net/mlx5/mlx5_rxmode.c | 8 +- drivers/net/mlx5/mlx5_rxq.c | 49 +- drivers/net/mlx5/mlx5_trigger.c | 35 +- drivers/net/mlx5/mlx5_tx.c | 2 +- drivers/net/mlx5/mlx5_txpp.c | 14 +- drivers/net/mlx5/mlx5_txq.c | 62 +- drivers/net/mlx5/mlx5_vlan.c | 4 +- drivers/net/mlx5/windows/mlx5_flow_os.c | 2 +- drivers/net/mlx5/windows/mlx5_os.c | 342 +++------ drivers/regex/mlx5/mlx5_regex.c | 3 +- drivers/vdpa/mlx5/mlx5_vdpa.c | 32 +- 30 files changed, 1842 insertions(+), 1408 deletions(-)