From patchwork Fri Aug 4 17:15:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dariusz Sosnowski X-Patchwork-Id: 129915 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 8F88D42FD6; Fri, 4 Aug 2023 19:16:24 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6826C40EF1; Fri, 4 Aug 2023 19:16:24 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on2047.outbound.protection.outlook.com [40.107.96.47]) by mails.dpdk.org (Postfix) with ESMTP id 136E540EE1 for ; Fri, 4 Aug 2023 19:16:23 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N1QBeNz7S3S+PCt5ckygTbcCDQdDBNTRDSdlLiNUUFyOuJgSPiZN84kJiNqlo7B4ReDWtaiXAgOL7A0LgxtlG0a7T3PY2skGDgXh3GPi2rtRBWzDT4vLVAYYI0+XE/TwI1weEwIk1qzFtssj9kw7Fuh+brmfDGpbRYkT06uGRH+mh21QNZ8jAOPsjuPDy6MiWmeBayxO08Z77HOX4X1g2j2a1mXgf2Kn+EztKY/G5xnMMfS//i/JaL1y2JfYgmjOj3yGokModvItVpniexrpqOoLOoOhGytU86oo1IdgsTL4ukMvek0nAgU2xCYqMbcg1JhX+PSZDY7AmeSlmcooVA== 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=jByhsxzhODmdkLzYXHU+X0EZBSf1fYLqmLt4CxIiH4E=; b=FQJugB0zub0buaBKFrWGEJmUW2HpyNcwc/mzMnQtmIhdpSAUmCjWOf+EFSmlrQIaGZDpXQ5anbu5TD/W/nwKbfyoM8FsLOcpaFJUQUx9U4qJoEN2e2IX2kRCgBZXFSYlxQh7RtlgpCpa3HJERvT8zwaAJG2CdVmpEj0Az3Sp6IS4Z+iAkeMHEZ/wyOUrrhrIkNhNXf5oIxr9MXA0Thu44OORN/MPtbsycQ6XFRC5MAIfmqhA+zjpFPCsClDRQdhYuXi7+OURcgjV6CTv0bE5YANebyICExLab3s1WaXFnMvN2wykM5RL3rocpPZNBt3olYbaV/sbduaMJz+dpInxew== 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=jByhsxzhODmdkLzYXHU+X0EZBSf1fYLqmLt4CxIiH4E=; b=QFzSX5F7ze2ljEl93xNpA08RAfjBrQMWYbV6d2cqVaYYavY7ulXQUuFwGEmMRC6ZFGfEkqHY/xV8KRaZTEl5z12vtbiLjxAmbBVIUFVWOXRzdJEWXXBCTQcrt0Z36CalU4gv60cRLbacY26ovyI9Y1H4PjOUT58YGqFL62TyIlv/P1LLgO6BZuyMNNtn6tZRH1Lf6JXMNEYnCShFLmJRdc/nkBxE5l8HcIsLeJlT1ulrLUcEGLdDrpLBoAqVezU1tU3bsH+pRNULJuf2IggaKoiCq5EH0a0ZpP/mqxwp1YGVQFqDhv6JmMamandhoc5J/om+qvByge8D46SkfcKGaQ== Received: from SA1PR02CA0022.namprd02.prod.outlook.com (2603:10b6:806:2cf::29) by MN0PR12MB6342.namprd12.prod.outlook.com (2603:10b6:208:3c1::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Fri, 4 Aug 2023 17:16:20 +0000 Received: from SA2PEPF00001504.namprd04.prod.outlook.com (2603:10b6:806:2cf:cafe::85) by SA1PR02CA0022.outlook.office365.com (2603:10b6:806:2cf::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.21 via Frontend Transport; Fri, 4 Aug 2023 17:16:19 +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 SA2PEPF00001504.mail.protection.outlook.com (10.167.242.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.19 via Frontend Transport; Fri, 4 Aug 2023 17:16:19 +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.5; Fri, 4 Aug 2023 10:16:08 -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.37; Fri, 4 Aug 2023 10:16:05 -0700 From: Dariusz Sosnowski To: Matan Azrad , Viacheslav Ovsiienko , Ori Kam , Suanming Mou , Jiawei Wang CC: Subject: [PATCH] net/mlx5: fix bond resource release Date: Fri, 4 Aug 2023 20:15:36 +0300 Message-ID: <20230804171536.1724554-1-dsosnowski@nvidia.com> X-Mailer: git-send-email 2.25.1 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: SA2PEPF00001504:EE_|MN0PR12MB6342:EE_ X-MS-Office365-Filtering-Correlation-Id: cd6228d8-a77d-452c-9fd5-08db950e84fd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qLL3irfYajjjgCZlISEJXOTtkKAUt1BMdLsKRA/6IOIcpuy7MQ7M0GhLRRCG8mINS4Gej3QX4MS4xsy4+CsafDZysnJXddI67d5QlHLScvBtEEQjT+2A6sDWSkobfl4ewB6lTUU+LiIUMQ2+xL/2UP3BN4EkKQg5MJqeYZ24wKxeKEWmNLqqr07saGooIbJzAd3+NCCjEeMUDINlEReJA1rcJXTnWeIeEhdryImBDltn4SKur1m9dZiJf8toPhTMWlFrC58RvZLJbN1+HUOHOF9e0ROMwmiHBhfjz991kKnd1Ui5m6nvG77DbR82OHx55t+h1tzUSTlgQ5ELkOLRO1TFOsek24X9ByYkc2aV6UJjyow70+Aqrht0HW0mUw5EyDGywcN57OS19D2c0U6BmJYoSG2Nd+9hwrQRVjTCoXSXYsflk5CxpkjUDriXZJ1pD678bMPUUp7lA5z5b4HQ/HBjpBJXhHf/accNjmqopaPP0jqL6iBJy+iSIvMZkyyzi2qlXmzeDSXnYrrBV6xG2guAvGpogl+Fttb1A3aEX/x6VSZnX2L22Mg72T8XQTnfP6nt5WjY0HaynwJgC0aLdLQn8UND2WJXpHC2FTpoi3baGHtvQyiRT5aVOvqFt+9sh2PMu1OdqBl4G5Z4bEbT1qBWVgay63qZ9X3kuPHo6alMQj7yZ+0aK/gGSZ06HU5BhTf0ng8PwU2BBkXaDvvyCb22aa16sAPG3tkxIiWF07JKgeCGdz1TBbLkV5LZk7/O 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:(13230028)(4636009)(396003)(376002)(39860400002)(346002)(136003)(82310400008)(1800799003)(451199021)(186006)(46966006)(36840700001)(40470700004)(82740400003)(40460700003)(16526019)(6286002)(2616005)(1076003)(26005)(8676002)(47076005)(4326008)(2906002)(316002)(36860700001)(6636002)(70586007)(5660300002)(426003)(70206006)(7636003)(8936002)(41300700001)(6666004)(7696005)(110136005)(478600001)(40480700001)(55016003)(356005)(83380400001)(36756003)(86362001)(336012); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 17:16:19.5101 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cd6228d8-a77d-452c-9fd5-08db950e84fd 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: SA2PEPF00001504.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6342 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 When a port is spawned on top of mlx5 bonding device, the following TIS objects are created: - TIS with index 0 - for default HW hash bonding mode, - TIS with index 1 - for sending packets on 1st physical port, - TIS with index 2 - for sending packets on 2nd physical port, - and so on. These TIS objects are used according to configured Tx queue affinity, which was set up using rte_eth_dev_map_aggr_tx_affinity() API. Before this patch, when DPDK was compiled in debug mode and RTE_LIBRTE_MLX5_DEBUG macro was declared, applications were asserting on failed call to destroy the TD object (on which TIS objects are dependent) during closing of the ports. Failure was caused by the fact that when TD object was destroyed, not all TIS objects were destroyed yet. This was caused by "off-by-one" issue in mlx5_free_shared_dev_ctx(). This function was releasing n TIS objects, but it should release n + 1 objects, where n is number of aggregated ports. (n + 1, because there are n TIS objects for each physical port and 1 TIS object for default HW hash mode). This patch fixes this issue in resource release of TIS objects. Fixes: ce306af6341b ("net/mlx5: enhance Tx queue affinity") Cc: jiaweiw@nvidia.com Signed-off-by: Dariusz Sosnowski Acked-by: Viacheslav Ovsiienko --- drivers/net/mlx5/mlx5.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index b373306f98..7d044bcd75 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -1720,7 +1720,7 @@ mlx5_alloc_shared_dev_ctx(const struct mlx5_dev_spawn_data *spawn, do { if (sh->tis[i]) claim_zero(mlx5_devx_cmd_destroy(sh->tis[i])); - } while (++i < (uint32_t)sh->bond.n_port); + } while (++i <= (uint32_t)sh->bond.n_port); if (sh->td) claim_zero(mlx5_devx_cmd_destroy(sh->td)); mlx5_free(sh); @@ -1864,7 +1864,7 @@ mlx5_free_shared_dev_ctx(struct mlx5_dev_ctx_shared *sh) do { if (sh->tis[i]) claim_zero(mlx5_devx_cmd_destroy(sh->tis[i])); - } while (++i < sh->bond.n_port); + } while (++i <= sh->bond.n_port); if (sh->td) claim_zero(mlx5_devx_cmd_destroy(sh->td)); #ifdef HAVE_MLX5_HWS_SUPPORT