From patchwork Tue Aug 17 13:44:29 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 97000 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 A6F52A0548; Tue, 17 Aug 2021 15:46:43 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 615CC411F8; Tue, 17 Aug 2021 15:45:34 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2075.outbound.protection.outlook.com [40.107.244.75]) by mails.dpdk.org (Postfix) with ESMTP id 18BA7411EA for ; Tue, 17 Aug 2021 15:45:32 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hlX2ai5Jqr9kDF0U+jEEhlCKD3+gfZrsR/dzCPHk6YDSoZ30lu/6wtyMgcgm0+rJ0zTzaxi1dC13rfPzTZ/5bVA5JaIOefc2KN2anORRwCcZWlqb3lwKik6H/k7zl6UrJvMao0+RydHbWf1V3dMM5qAGOYHiX3yi53VcHQAQlHvi4hBHOkatVlgkYRIxmKUEI4hyPTOEJqaAjxhuEXbIkkpdwu6sSVE2vFtgbSfuXqKr23B++8JbpDY2fANxdVTFsfUUwxTybAHCcOXaHY+IlkUQ/SJN/Yq0Om0H2YU7DCY9Ak5jQmtPXcWS4raoCn7mBApeqKI1aMAjM+9YrSzlpw== 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-SenderADCheck; bh=QENo6o0ltxtxbAsDVsS71dyHsJi3DS3GmBjVZvPdDww=; b=e5PxDGdH44kBGdwirpev5F2bb7Syd94ypSlbA6mfqubr6WwBNMjGHqBQ/XzvwfeT+FFk5MYzuPO+/wP8VigXurAWouPwYK26WR3BxC29i2Uak/1HScDAy/5Xq7UNafB4sczR7WlCo4j1QNCPytjTXa4otJ1WtgcGZNiOZqo8DyNvXwy646ONnnH+FsNYbux2begm8L8+tXwbtGSgvdweR4PsEktdAdK6AzXuX32Ew8t7HZ5N+lQJ9NKSQpefyyFkFs34494V+/3LyvsUxTRglk7AE0OgjIoS+8oI3YPvftciWsvQGnbSxZPxlXMSojlFNSYrn5h4yLduzz1u8KqtGA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine sp=none 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=QENo6o0ltxtxbAsDVsS71dyHsJi3DS3GmBjVZvPdDww=; b=nDmhxcst8eVT8CyV0uRkpkDjL37R1pj065AbYCMesYdpxQRAve1qXjGBTVF5zvNRt0quEWK4cN5EgucUB5pFum9aoag9qAzF/FH00rX1sBdQFyT5v0wxd1TcbsacS9IWRXiy1ZIpOP6p2PIcAKjneXIv6XkyF6SG78Jfv56MXK+4OV1ZBejhloz9XeRVUz9DnYdvHZWeh2Ltj1QZ9e718YQ9Q+pWikpyi4acU/4guFnJJhQNoGYph1VRsr/OPbXQECZQIfkSCkfgoO29lCf6m9smbVcrZGp0Ujf4sEgJfzwOIS9Ck9E8dwvSlvFmXbpm0iPwC7J5dS+QOD4hgmkvLQ== Received: from MWHPR11CA0040.namprd11.prod.outlook.com (2603:10b6:300:115::26) by CY4PR1201MB2500.namprd12.prod.outlook.com (2603:10b6:903:d0::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Tue, 17 Aug 2021 13:45:30 +0000 Received: from CO1NAM11FT007.eop-nam11.prod.protection.outlook.com (2603:10b6:300:115:cafe::a3) by MWHPR11CA0040.outlook.office365.com (2603:10b6:300:115::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.18 via Frontend Transport; Tue, 17 Aug 2021 13:45:30 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by CO1NAM11FT007.mail.protection.outlook.com (10.13.174.131) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4415.14 via Frontend Transport; Tue, 17 Aug 2021 13:45:29 +0000 Received: from DRHQMAIL107.nvidia.com (10.27.9.16) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 17 Aug 2021 13:45:29 +0000 Received: from nvidia.com (172.20.187.6) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 17 Aug 2021 13:45:27 +0000 From: Michael Baum To: CC: Matan Azrad , Raslan Darawsheh , Viacheslav Ovsiienko Date: Tue, 17 Aug 2021 16:44:29 +0300 Message-ID: <20210817134441.1966618-10-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210817134441.1966618-1-michaelba@nvidia.com> References: <20210817134441.1966618-1-michaelba@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.187.6] X-ClientProxiedBy: HQMAIL111.nvidia.com (172.20.187.18) To DRHQMAIL107.nvidia.com (10.27.9.16) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 996ad888-92ff-4ed5-f922-08d961854709 X-MS-TrafficTypeDiagnostic: CY4PR1201MB2500: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:72; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tDOZi3d6wB5VcnZDNh55BjpWGuPiBHXm3t8xFzJEAwq1AXnsY9UdWBZ0mS0pQ6j3EkC5Yj827ZSaonzvnojl9J6Mr7l7E1gzTrK6X5pZAtZdxJfoTf9IWNzb3p3qRUTCYFaft4pxOqQkYFUgRb/bTb+LzmmhmiNbQJIBqtEXfCAki6d3WBsVowyE5wfnNhD8gDtYs9SVFh0srf8LU9JJ8upW/G55XM9ve3mohdBjjvyHle3KS96OvZUtRyYtq5+L3g/4yg7LrzxCu9h5Uh4HtAWRV7uiR0h6Zy9BY1DbFl5gzM7dRsML3APLM+vu9ShZxIJr7jbJSaP0FOEqVln9Pi4trhMGit4sc514m5dICr+9kywzlJVWghV38q6Z+u0J+De1RuNdXaIoKN4qzwIL7gBu7rr8e5Z29Jvv7emJs/GihGx0kQ2W2M4afZTdo6pI/Fef2RLEftaTevyEZiVkkGv5xucvU9793KhBDYFwCZpAhelBfgksMSF1C+LMbMlNRXebqJHemqqeCzeVlLLZ6PcFePhq+i1HHSp+bYV0zdFv7KTySMQbIWqOE2Lpsu8ZCzsgArr351UkujR5xJwtpmldjZC0FTKA8AOfz/Kea056mdvGrxQdB6sl5XWRKt2cmsGiXgxOhcEviKANUqkZYsSYZoh2kUPj3AaociWxP+16sqe1lVid9iyZXhqF6osF+YXDut3yDLBPe+jJzOUB0A== X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(396003)(376002)(136003)(346002)(39860400002)(46966006)(36840700001)(55016002)(70206006)(86362001)(7696005)(36860700001)(356005)(82310400003)(70586007)(2906002)(2616005)(8936002)(82740400003)(36756003)(26005)(186003)(5660300002)(16526019)(6286002)(47076005)(426003)(316002)(83380400001)(107886003)(7636003)(478600001)(54906003)(4326008)(8676002)(6916009)(336012)(1076003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 13:45:29.9017 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 996ad888-92ff-4ed5-f922-08d961854709 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT007.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1201MB2500 Subject: [dpdk-dev] [RFC 09/21] net/mlx5: improve spawn function 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 Sender: "dev" Add name as a parameter to spawn structure. Signed-off-by: Michael Baum --- drivers/net/mlx5/linux/mlx5_os.c | 24 ++++++++++-------------- drivers/net/mlx5/mlx5.c | 5 ++--- drivers/net/mlx5/mlx5.h | 1 + drivers/net/mlx5/windows/mlx5_os.c | 1 + 4 files changed, 14 insertions(+), 17 deletions(-) diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c index 375bc55e79..b4670fad6e 100644 --- a/drivers/net/mlx5/linux/mlx5_os.c +++ b/drivers/net/mlx5/linux/mlx5_os.c @@ -938,7 +938,7 @@ mlx5_representor_match(struct mlx5_dev_spawn_data *spawn, * Verbs device parameters (name, port, switch_info) to spawn. * @param config * Device configuration parameters. - * @param config + * @param eth_da * Device arguments. * * @return @@ -997,12 +997,11 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev, /* Bonding device. */ if (!switch_info->representor) { err = snprintf(name, sizeof(name), "%s_%s", - dpdk_dev->name, - mlx5_os_get_dev_device_name(spawn->phys_dev)); + dpdk_dev->name, spawn->phys_dev_name); } else { err = snprintf(name, sizeof(name), "%s_%s_representor_c%dpf%d%s%u", dpdk_dev->name, - mlx5_os_get_dev_device_name(spawn->phys_dev), + spawn->phys_dev_name, switch_info->ctrl_num, switch_info->pf_num, switch_info->name_type == @@ -1227,8 +1226,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev, if (err) { DRV_LOG(WARNING, "can't query devx port %d on device %s", - spawn->phys_port, - mlx5_os_get_dev_device_name(spawn->phys_dev)); + spawn->phys_port, spawn->phys_dev_name); vport_info.query_flags = 0; } } @@ -1238,18 +1236,14 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev, if (!priv->vport_meta_mask) { DRV_LOG(ERR, "vport zero mask for port %d" " on bonding device %s", - spawn->phys_port, - mlx5_os_get_dev_device_name - (spawn->phys_dev)); + spawn->phys_port, spawn->phys_dev_name); err = ENOTSUP; goto error; } if (priv->vport_meta_tag & ~priv->vport_meta_mask) { DRV_LOG(ERR, "invalid vport tag for port %d" " on bonding device %s", - spawn->phys_port, - mlx5_os_get_dev_device_name - (spawn->phys_dev)); + spawn->phys_port, spawn->phys_dev_name); err = ENOTSUP; goto error; } @@ -1260,8 +1254,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev, (switch_info->representor || switch_info->master)) { DRV_LOG(ERR, "can't deduce vport index for port %d" " on bonding device %s", - spawn->phys_port, - mlx5_os_get_dev_device_name(spawn->phys_dev)); + spawn->phys_port, spawn->phys_dev_name); err = ENOTSUP; goto error; } else { @@ -2314,6 +2307,7 @@ mlx5_os_pci_probe_pf(struct rte_pci_device *pci_dev, list[ns].max_port = np; list[ns].phys_port = i; list[ns].phys_dev = ibv_match[0]; + list[ns].phys_dev_name = ibv_match[0]->name; list[ns].eth_dev = NULL; list[ns].pci_dev = pci_dev; list[ns].pf_bond = bd; @@ -2410,6 +2404,7 @@ mlx5_os_pci_probe_pf(struct rte_pci_device *pci_dev, list[ns].max_port = 1; list[ns].phys_port = 1; list[ns].phys_dev = ibv_match[i]; + list[ns].phys_dev_name = ibv_match[i]->name; list[ns].eth_dev = NULL; list[ns].pci_dev = pci_dev; list[ns].pf_bond = -1; @@ -2732,6 +2727,7 @@ mlx5_os_auxiliary_probe(struct rte_device *dev) spawn.phys_dev = mlx5_os_get_ibv_dev(dev); if (spawn.phys_dev == NULL) return -rte_errno; + spawn.phys_dev_name = mlx5_os_get_dev_device_name(spawn.phys_dev); ret = mlx5_auxiliary_get_ifindex(dev->name); if (ret < 0) { DRV_LOG(ERR, "failed to get ethdev ifindex: %s", dev->name); diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 02ea2e781e..08c9a6ec6f 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -1107,7 +1107,7 @@ mlx5_alloc_rxtx_uars(struct mlx5_dev_ctx_shared *sh, */ struct mlx5_dev_ctx_shared * mlx5_alloc_shared_dev_ctx(const struct mlx5_dev_spawn_data *spawn, - const struct mlx5_dev_config *config) + const struct mlx5_dev_config *config) { struct mlx5_dev_ctx_shared *sh; int err = 0; @@ -1120,8 +1120,7 @@ mlx5_alloc_shared_dev_ctx(const struct mlx5_dev_spawn_data *spawn, pthread_mutex_lock(&mlx5_dev_ctx_list_mutex); /* Search for IB context by device name. */ LIST_FOREACH(sh, &mlx5_dev_ctx_list, next) { - if (!strcmp(sh->ibdev_name, - mlx5_os_get_dev_device_name(spawn->phys_dev))) { + if (!strcmp(sh->ibdev_name, spawn->phys_dev_name)) { sh->refcnt++; goto exit; } diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h index 3581414b78..9a8e34535c 100644 --- a/drivers/net/mlx5/mlx5.h +++ b/drivers/net/mlx5/mlx5.h @@ -137,6 +137,7 @@ struct mlx5_dev_spawn_data { int numa_node; /**< Device numa node. */ struct mlx5_switch_info info; /**< Switch information. */ void *phys_dev; /**< Associated physical device. */ + const char *phys_dev_name; /**< Name of physical device. */ struct rte_eth_dev *eth_dev; /**< Associated Ethernet device. */ struct rte_pci_device *pci_dev; /**< Backend PCI device. */ struct mlx5_bond_info *bond_info; diff --git a/drivers/net/mlx5/windows/mlx5_os.c b/drivers/net/mlx5/windows/mlx5_os.c index 0ff9e70d96..2f5c29662e 100644 --- a/drivers/net/mlx5/windows/mlx5_os.c +++ b/drivers/net/mlx5/windows/mlx5_os.c @@ -942,6 +942,7 @@ mlx5_os_net_probe(struct rte_device *dev) spawn.max_port = 1; spawn.phys_port = 1; spawn.phys_dev = devx_bdf_match; + spawn.phys_dev_name = mlx5_os_get_dev_device_name(devx_bdf_match); spawn.eth_dev = NULL; spawn.pci_dev = pci_dev; spawn.ifindex = -1; /* Spawn will assign */