From patchwork Thu Jan 27 15:39:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 106633 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 CFB7DA04A6; Thu, 27 Jan 2022 16:41:55 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 75963428EB; Thu, 27 Jan 2022 16:40:28 +0100 (CET) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2043.outbound.protection.outlook.com [40.107.93.43]) by mails.dpdk.org (Postfix) with ESMTP id 761AC428DE for ; Thu, 27 Jan 2022 16:40:26 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AOqKX2W3UE2C/Fpu4m6eil/vrKizbWLejIMYkM4/qhX1P+uIpx6WbYDnbI2p8VOP3/stDKe1YRAJABkoxHLuWQeI6Ojo58FyZhU5lgvfRkqSBGf4LGQb1KTWHOF54KMCM4I/ULVvm6PiiekP8x584/amF9oo7NHOwREcfqI+A9fL4ommmussKgTNccOWh6oaKC5tnSP8MN9nsK8gFsU4FxW1Cu9mx+JliZv1g9H2Dn7AFEE05OgvRDA3GFvGFDCvPkzwMjfmVT2vgYjq6u03FHvvfNV8ey2KqMoySOceEGcCyhu1cKTroDDDVMAQOLOwwoYJJJDpgY8X/705na9qWQ== 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=nOO3fpXBcInfQhVZMRC1l5idFk6trimTkDuMclZ2Lqw=; b=Y85pbVReC3VZgLXT1kdR0dXeImW5QNt1pTCHmdISSIvFVqHOIaAHcUS1gHQpSvNvd7BlCyyq2qEFNrFjWP91O3M8K7BPeWL9EZuiwSpLgwE0PGLo3rK0CK/1r1aacEy9dU06AxHT8+B/IRVfXw1WDxSeGxEvHBLNwpj5MPb+0PqRDMvrQRinfjEvJ1K/Ge/+bSquNXfJOZ98oFeP5NIL8ON5a1WztFjOoSbpeBq3guN05O2Wh+JK90VHSVvjua9xmhJo5V31SmezjALuXqeeqHxBuDYt0oa/fRwHNOfqIZy9wjk5WBMvPnCSXT5nf0kbbFT6dJNMtNIfaTs94610tQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.234) 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=nOO3fpXBcInfQhVZMRC1l5idFk6trimTkDuMclZ2Lqw=; b=lPu94IONusrmPKzzumdN54skKE039BFb+wTpEk7gDc2HjwFtUo9bUbkI0zIdXdZjCgeGPwd2IwjTlQUqAH85wSSG6ggXlUtDkIgNMa+4NiGgfEeJDHk3UEWHOxpSMCoWToMPPGwwdPequ/0ZKsDTzw8dqT+oVPkAzUwaZmo/fkpEEymTU1gZm2VSRkDxt8+i590+qHi+NLjjm/uxF5Av7N/VH0szZ4oyM8QXLaq01myrvt3RfnYdPX4BVRTqeyUzZkQk1gNMMbpTYuex8+m/NSSZAWkiAl6mF2giugXq1HEs9m2QhrTUCNPpZK6MB4wgj4npt115dBNPR9VtY4nEiA== Received: from BN9PR03CA0845.namprd03.prod.outlook.com (2603:10b6:408:13d::10) by BY5PR12MB4292.namprd12.prod.outlook.com (2603:10b6:a03:212::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan 2022 15:40:23 +0000 Received: from BN8NAM11FT046.eop-nam11.prod.protection.outlook.com (2603:10b6:408:13d:cafe::10) by BN9PR03CA0845.outlook.office365.com (2603:10b6:408:13d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 15:40:23 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.234) 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.234 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.234; helo=mail.nvidia.com; Received: from mail.nvidia.com (12.22.5.234) by BN8NAM11FT046.mail.protection.outlook.com (10.13.177.127) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 15:40:23 +0000 Received: from drhqmail203.nvidia.com (10.126.190.182) by DRHQMAIL101.nvidia.com (10.27.9.10) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Thu, 27 Jan 2022 15:40:19 +0000 Received: from drhqmail202.nvidia.com (10.126.190.181) by drhqmail203.nvidia.com (10.126.190.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.9; Thu, 27 Jan 2022 07:40:18 -0800 Received: from nvidia.com (10.127.8.13) by mail.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.9 via Frontend Transport; Thu, 27 Jan 2022 07:40:17 -0800 From: Michael Baum To: CC: Matan Azrad , Raslan Darawsheh , Viacheslav Ovsiienko Subject: [PATCH 12/20] net/mlx5: share counter config function Date: Thu, 27 Jan 2022 17:39:42 +0200 Message-ID: <20220127153950.812953-13-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: 96bb129c-2e77-4c9b-b28c-08d9e1ab555c X-MS-TrafficTypeDiagnostic: BY5PR12MB4292:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JR4SzaMyAq4j7Bat+Bv7F1ZRnHXHXlItj7K6wFlqTPJSTGEZeeruxoRdfOm+PuXH5Rr8Q7qEuoIN/Ed+lr6Q7jvxq9IFONPOkh/AriPYqZTD/1r7iLB/mfgjJOBRmJm8P6Q28t0jeBqaTR63H1+YvIFv4b2LVOzJ8iwNadgRo7Hw4ozWPafCib0usT2vjIyR0Bf4Zi+y+C04ieGoqpZ8Leugtwb613T86ZJN+03MjICaIfULUvw0S0gPA2epsowNzPWBQLkVherWmrzIxIFS3HPBjcgyyKNtdIsYXUuCGEC8SkZqhb4etIg6TqQUZKsgP1oo1VMgKVx/ba0kMnioviiPIF+jHEQY3OYPrWgLg2vwHvMLMem/4ikQrkrmnMghXFXvXhrDe98PrAgGNiZBnfecM+XNPiwOwKbjKMG6WAYo1tdpfRO/fMuuDc5rYyGd9dzAIGcPA+Y5uwapYgYq1FX6/1xhz3OwBazkbi9wyycfn0KA8Aat8gS8ECMkcyPRZC2yHIPFdPYWI478gqj5JLdeDYMrunp4mscs/X1V7p9IfUGQIvqxp+NBCRoOat5aWFJLOUZwEBLRblbzDezNvGUYmPtcvPg3G1WM2q0DKtfrBz+nDdws5zSx8l0nNjV/sdcBsvM9Odv09sxT9FK2Mgx4/3B0O/VHWt2ixoH/cyMSKVnJCsRSGsKZ7CipIiPKLPLcs1GhMer9aC46i1e+ZA== X-Forefront-Antispam-Report: CIP:12.22.5.234; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230001)(4636009)(46966006)(40470700004)(36840700001)(4326008)(36860700001)(47076005)(83380400001)(5660300002)(36756003)(70586007)(70206006)(2906002)(8936002)(8676002)(40460700003)(107886003)(6916009)(508600001)(426003)(186003)(86362001)(26005)(336012)(54906003)(316002)(6286002)(2616005)(1076003)(82310400004)(81166007)(356005)(6666004)(7696005)(55016003)(36900700001)(20210929001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 15:40:23.5556 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 96bb129c-2e77-4c9b-b28c-08d9e1ab555c 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.234]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT046.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4292 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 The mlx5_flow_counter_mode_config function exists for both Linux and Windows with the same name and content. This patch moves its implementation to the folder shared between the operating systems, removing the duplication. Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/net/mlx5/linux/mlx5_os.c | 40 ------------------------------ drivers/net/mlx5/mlx5.c | 40 ++++++++++++++++++++++++++++++ drivers/net/mlx5/mlx5.h | 1 + drivers/net/mlx5/windows/mlx5_os.c | 40 ------------------------------ 4 files changed, 41 insertions(+), 80 deletions(-) diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c index bb90cc4426..9a05c1ba44 100644 --- a/drivers/net/mlx5/linux/mlx5_os.c +++ b/drivers/net/mlx5/linux/mlx5_os.c @@ -673,46 +673,6 @@ mlx5_init_once(void) return ret; } -/** - * DV flow counter mode detect and config. - * - * @param dev - * Pointer to rte_eth_dev structure. - * - */ -static void -mlx5_flow_counter_mode_config(struct rte_eth_dev *dev __rte_unused) -{ -#ifdef HAVE_IBV_FLOW_DV_SUPPORT - struct mlx5_priv *priv = dev->data->dev_private; - struct mlx5_dev_ctx_shared *sh = priv->sh; - struct mlx5_hca_attr *hca_attr = &sh->cdev->config.hca_attr; - bool fallback; - -#ifndef HAVE_IBV_DEVX_ASYNC - fallback = true; -#else - fallback = false; - if (!sh->cdev->config.devx || !priv->config.dv_flow_en || - !hca_attr->flow_counters_dump || - !(hca_attr->flow_counter_bulk_alloc_bitmap & 0x4) || - (mlx5_flow_dv_discover_counter_offset_support(dev) == -ENOTSUP)) - fallback = true; -#endif - if (fallback) - DRV_LOG(INFO, "Use fall-back DV counter management. Flow " - "counter dump:%d, bulk_alloc_bitmap:0x%hhx.", - hca_attr->flow_counters_dump, - hca_attr->flow_counter_bulk_alloc_bitmap); - /* Initialize fallback mode only on the port initializes sh. */ - if (sh->refcnt == 1) - sh->cmng.counter_fallback = fallback; - else if (fallback != sh->cmng.counter_fallback) - DRV_LOG(WARNING, "Port %d in sh has different fallback mode " - "with others:%d.", PORT_ID(priv), fallback); -#endif -} - /** * DR flow drop action support detect. * diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 5146359100..27bcca9012 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -513,6 +513,46 @@ mlx5_flow_aging_init(struct mlx5_dev_ctx_shared *sh) } } +/** + * DV flow counter mode detect and config. + * + * @param dev + * Pointer to rte_eth_dev structure. + * + */ +void +mlx5_flow_counter_mode_config(struct rte_eth_dev *dev __rte_unused) +{ +#ifdef HAVE_IBV_FLOW_DV_SUPPORT + struct mlx5_priv *priv = dev->data->dev_private; + struct mlx5_dev_ctx_shared *sh = priv->sh; + struct mlx5_hca_attr *hca_attr = &sh->cdev->config.hca_attr; + bool fallback; + +#ifndef HAVE_IBV_DEVX_ASYNC + fallback = true; +#else + fallback = false; + if (!sh->cdev->config.devx || !priv->config.dv_flow_en || + !hca_attr->flow_counters_dump || + !(hca_attr->flow_counter_bulk_alloc_bitmap & 0x4) || + (mlx5_flow_dv_discover_counter_offset_support(dev) == -ENOTSUP)) + fallback = true; +#endif + if (fallback) + DRV_LOG(INFO, "Use fall-back DV counter management. Flow " + "counter dump:%d, bulk_alloc_bitmap:0x%hhx.", + hca_attr->flow_counters_dump, + hca_attr->flow_counter_bulk_alloc_bitmap); + /* Initialize fallback mode only on the port initializes sh. */ + if (sh->refcnt == 1) + sh->cmng.counter_fallback = fallback; + else if (fallback != sh->cmng.counter_fallback) + DRV_LOG(WARNING, "Port %d in sh has different fallback mode " + "with others:%d.", PORT_ID(priv), fallback); +#endif +} + /** * Initialize the counters management structure. * diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h index 0f90d757e9..d69b6a357b 100644 --- a/drivers/net/mlx5/mlx5.h +++ b/drivers/net/mlx5/mlx5.h @@ -1535,6 +1535,7 @@ int mlx5_dev_check_sibling_config(struct mlx5_dev_ctx_shared *sh, struct rte_device *dpdk_dev); bool mlx5_flex_parser_ecpri_exist(struct rte_eth_dev *dev); int mlx5_flex_parser_ecpri_alloc(struct rte_eth_dev *dev); +void mlx5_flow_counter_mode_config(struct rte_eth_dev *dev); int mlx5_flow_aso_age_mng_init(struct mlx5_dev_ctx_shared *sh); int mlx5_aso_flow_mtrs_mng_init(struct mlx5_dev_ctx_shared *sh); int mlx5_flow_aso_ct_mng_init(struct mlx5_dev_ctx_shared *sh); diff --git a/drivers/net/mlx5/windows/mlx5_os.c b/drivers/net/mlx5/windows/mlx5_os.c index a9c7ba2a14..eaa63ad50f 100644 --- a/drivers/net/mlx5/windows/mlx5_os.c +++ b/drivers/net/mlx5/windows/mlx5_os.c @@ -255,46 +255,6 @@ mlx5_os_set_nonblock_channel_fd(int fd) return -ENOTSUP; } -/** - * DV flow counter mode detect and config. - * - * @param dev - * Pointer to rte_eth_dev structure. - * - */ -static void -mlx5_flow_counter_mode_config(struct rte_eth_dev *dev __rte_unused) -{ -#ifdef HAVE_IBV_FLOW_DV_SUPPORT - struct mlx5_priv *priv = dev->data->dev_private; - struct mlx5_dev_ctx_shared *sh = priv->sh; - struct mlx5_hca_attr *hca_attr = &sh->cdev->config.hca_attr; - bool fallback; - -#ifndef HAVE_IBV_DEVX_ASYNC - fallback = true; -#else - fallback = false; - if (!sh->cdev->config.devx || !priv->config.dv_flow_en || - !hca_attr->flow_counters_dump || - !(hca_attr->flow_counter_bulk_alloc_bitmap & 0x4) || - (mlx5_flow_dv_discover_counter_offset_support(dev) == -ENOTSUP)) - fallback = true; -#endif - if (fallback) - DRV_LOG(INFO, "Use fall-back DV counter management. Flow " - "counter dump:%d, bulk_alloc_bitmap:0x%hhx.", - hca_attr->flow_counters_dump, - hca_attr->flow_counter_bulk_alloc_bitmap); - /* Initialize fallback mode only on the port initializes sh. */ - if (sh->refcnt == 1) - sh->cmng.counter_fallback = fallback; - else if (fallback != sh->cmng.counter_fallback) - DRV_LOG(WARNING, "Port %d in sh has different fallback mode " - "with others:%d.", PORT_ID(priv), fallback); -#endif -} - /** * Spawn an Ethernet device from DevX information. *