From patchwork Mon Nov 13 07:24:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bing Zhao X-Patchwork-Id: 134127 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 495E743319; Mon, 13 Nov 2023 08:25:30 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D4E29402EC; Mon, 13 Nov 2023 08:25:29 +0100 (CET) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2049.outbound.protection.outlook.com [40.107.94.49]) by mails.dpdk.org (Postfix) with ESMTP id 1843D4026C; Mon, 13 Nov 2023 08:25:28 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SO0vMNykhak4LZJNYPbRqmy4OWc/hSOSNYGp2mlgAtmXdLjgrxrjeBa5BEha6r9o3TKWqjrD8NOybZ7pzpraQ/PmbkjHO2gd2z/uDw64X/mPDwArgUVn09wYXg6R9nKQX+a6cq8U6D50GOTOuTzIaytwypCZYphJHUIChPGkqM5dk57Nray0V9G59KtDuFvzeIJ5mwmr4n85lR9yxFt70cWrbmy7womW5yNVzJy37RMTxQwLZ5YWZS6S9D/fKVwMFJc6V053Do+OFKV2/60gvPJw0Kn5gvdgWp+QrwQb/IeD/DVA4WJTMbqX1WUnCZZnGMHRVNh/42W0LUK3VSiG6g== 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=dDmmIqZ1mYhFVaIzSA0NCm9YkT1OwebBfBQem2AhMWk=; b=ZXqPrcN2YDro7tjYADfdJZV5p03gRfedon/JY5MrFVgyPYMJrAcmz2MwlgFK7CpRwltHRsCgdTZeEFx3keTWlzXox3c5WtWFWNm5ysrZj/gAAGlSlzvTa/c+wW7C7abeyLb0kzud3/iuELmLVQKCAWjqgRBFRDZSoUpjCOXMDMPdzZUx06tT9a2jWY09t0kB9v6xugIiPkRflwtoJYDy5pPwl6HjPkvbpfHOovgVqhXEfrhwOIGBofYP3Rhitdh5ghUtMwEFLd1ShRognLGj1gz7/UN+I2ftoQ16uC2uDBr52RGPGAicNEiIXZPB1aq5S/4WkMoHk2OKFiE7f6wRzA== 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 (0) 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=dDmmIqZ1mYhFVaIzSA0NCm9YkT1OwebBfBQem2AhMWk=; b=LOTKLtkIFyvsMUqV6ogat2bWKJvME6Ih1hU7ksx9ZRp/H83de2WdjGAOPd4ZYPNn2m/+1NKIo7Ji8f5HHcg+xeO4uqR996m6fIHfwvlWAfGMuwvQqV2RgB2MYnj7z6NroFR/ilHUkSMBldT4OGK6GLTuW7nGLRRno4ViiymeM/J40Zq9p6outcdk0h/ZZ2peE0dUvFG/2IwD0lxJeCaAKWclKP4VO91/4gFmvb3YbQjS/RiGDMWdsrM1gQVd8oaekUmxles7xZLTwPy+BcykattDXkt14IuwTW/dRaybVsU3VawQLXGrtOwMHuDN7PRL5I9O2iwoKThHzyfCDAUlPw== Received: from BL1PR13CA0422.namprd13.prod.outlook.com (2603:10b6:208:2c3::7) by PH8PR12MB6817.namprd12.prod.outlook.com (2603:10b6:510:1c8::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.28; Mon, 13 Nov 2023 07:25:25 +0000 Received: from MN1PEPF0000F0DF.namprd04.prod.outlook.com (2603:10b6:208:2c3:cafe::ac) by BL1PR13CA0422.outlook.office365.com (2603:10b6:208:2c3::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15 via Frontend Transport; Mon, 13 Nov 2023 07:25:25 +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 MN1PEPF0000F0DF.mail.protection.outlook.com (10.167.242.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.13 via Frontend Transport; Mon, 13 Nov 2023 07:25:25 +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.41; Sun, 12 Nov 2023 23:25:08 -0800 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.41; Sun, 12 Nov 2023 23:25:04 -0800 From: Bing Zhao To: , , , , CC: , , Subject: [PATCH] net/mlx5: fix shared Rx queue list management Date: Mon, 13 Nov 2023 09:24:48 +0200 Message-ID: <20231113072448.6814-1-bingz@nvidia.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN1PEPF0000F0DF:EE_|PH8PR12MB6817:EE_ X-MS-Office365-Filtering-Correlation-Id: 0ead7b5b-da68-45ea-3e0f-08dbe419b43b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AiP5xfJxdMiNmrplLIOzJeP0ZP2awsds7PFHL3uDIo/a8gFH4BqXhuDXHlT6Urq/Oo+aqKdWKesVVGb0ivfTRA7i/tlHK9IlnUl7tC4C4JFqWlCyALXDS02UYr83XF8Q8VNnQTv1vr/H0nShlNyJQc636YBtyjcOo69zO6VztxV8fCpYntP6DTngwMg92332DSfrNPpm96VkgwY7jdFoZutF/o9TT8+ZKNOL/RfJTHs1Qq7rm2659o8d2p9zAPVoN1f24mC6DNkLo/sUzM3ZgZ9cx5yqbFFyYERDpcvrgdTPE6Iqc1VEsC6FwbmqaI+vU9moEWX4OjCvQBbcavcOgkfIw6+NZBHizL6kdWq/fPVhophURiLbPUC9VIKsNWkhuroTSg5k3ce29YzxKPP6IQ2pGJJhxKOiOlpII6oksSLnAParnnD6oaYDG0Fi1GxXrp0ezDmn1UtykAC71qB1xqYQMuaYdK06Cht0Yz78NgN7Us9OH1pBXJ9HLnTDG8zQdQ3SVztyV9XLiuzNiKS1pr4Mxggqq7T2vr5PiA86okwVfNVZcYAmQbY/NpsL0k6XeaE1xOVu3girbZyuXN5Kc+AGFjQp8BCL6dOfuQ3387rRNMw5+2QaNCBn1rwjvds3uHg0IEXCCmtCBXvhItMKh7Nhj9KKRWINB6vcpDUPPPiIa1bCzheFv5v2KiAej1oWdUYB8VimPPPD6dgBoJSVPZ3GnAe7BnNOsaTTJGn9yTSFP4H9M2nDFFm/j3ZXeswg 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:(13230031)(4636009)(396003)(136003)(376002)(346002)(39860400002)(230922051799003)(186009)(1800799009)(82310400011)(451199024)(64100799003)(36840700001)(40470700004)(46966006)(110136005)(54906003)(70206006)(70586007)(6636002)(316002)(478600001)(40460700003)(6666004)(86362001)(5660300002)(41300700001)(36756003)(2906002)(450100002)(4326008)(8676002)(8936002)(6286002)(16526019)(26005)(82740400003)(1076003)(40480700001)(2616005)(7636003)(83380400001)(55016003)(47076005)(356005)(36860700001)(426003)(336012)(7696005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 07:25:25.0122 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0ead7b5b-da68-45ea-3e0f-08dbe419b43b 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: MN1PEPF0000F0DF.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6817 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 In shared Rx queue case, the shared control structure could only be released after the last port's dereference in the group. There is another management list that holding all of the used Rx queues' structures for a port. If the reference count of a control structure is changed to zero during port close, it can be removed from the list directly without freeing the resource. Fixes: 09c2555303be ("net/mlx5: support shared Rx queue") Cc: xuemingl@nvidia.com Cc: stable@dpdk.org Signed-off-by: Bing Zhao Acked-by: Viacheslav Ovsiienko --- drivers/net/mlx5/mlx5_rxq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c index 88b2dc54b3..2c51af11c7 100644 --- a/drivers/net/mlx5/mlx5_rxq.c +++ b/drivers/net/mlx5/mlx5_rxq.c @@ -2280,6 +2280,7 @@ mlx5_rxq_release(struct rte_eth_dev *dev, uint16_t idx) RTE_ETH_QUEUE_STATE_STOPPED; } } else { /* Refcnt zero, closing device. */ + LIST_REMOVE(rxq_ctrl, next); LIST_REMOVE(rxq, owner_entry); if (LIST_EMPTY(&rxq_ctrl->owners)) { if (!rxq_ctrl->is_hairpin) @@ -2287,7 +2288,6 @@ mlx5_rxq_release(struct rte_eth_dev *dev, uint16_t idx) (&rxq_ctrl->rxq.mr_ctrl.cache_bh); if (rxq_ctrl->rxq.shared) LIST_REMOVE(rxq_ctrl, share_entry); - LIST_REMOVE(rxq_ctrl, next); mlx5_free(rxq_ctrl); } dev->data->rx_queues[idx] = NULL;