From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 15C94A0C4C; Tue, 23 Nov 2021 23:32:24 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 25DF941152; Tue, 23 Nov 2021 23:32:20 +0100 (CET) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam08on2063.outbound.protection.outlook.com [40.107.101.63]) by mails.dpdk.org (Postfix) with ESMTP id B994640040 for ; Tue, 23 Nov 2021 23:32:17 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JNNYLCiev2u0oC99ElwvA+eBJn4/NzCQk6Cltm4YHH/rzzXZEJFQvSgBg2ti8GUGMQVXf5IxaF/LUx7x32bfoG+c43IaugG/E+c2eCP80zp1SoYci11DRzn1i59bpdPHYoh21i/t0THGvKGlXvYpeJ47EGBdOdn+PUFXbxX1GgsK0XhWTlrf/dtVzaZsTHY9bEhr8Z3SDWsZH80fzOItBavFtC4zh55QMXnEWxqFvcB9qg8bVRRUvaRsHWiMxwdEvCKgzHkjdq8nxoHFoFiakmwd3HO1F0rYMGFU980x7Wx/GM/k4deE/a4ejiK4hgiJAga0CUnCdBHTcofbihshvg== 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=+ptZHFWO6YTp0clNQoAGZT9zrgFvgfi35RSo365NPXY=; b=N7a/rX9piqeU8avMUmjNjdQHpO7ntpc/Csys1BkAg6oEIyGEzes8ngTUa86l7ys+F2L3K+TTadia6LAFUK2V91i0lmp4Vat8z5qS2v35USZ9ginkU4gVVWdcygri1Ww5h3msm2QFdQQnUKpf0/N6xc6KNvUNe0SgsL6CuYEGXDKV7QGS5DA+SrS2pkPwGy6HWxhlU4IIxUSod6py4/dAL6GkpFzA55aVCzcgeRLILIR7frYP2vgXGXkZEtJbzTkec0trb3pq55E9Dmo6JH6PGLR7QJwzAdEedFPNyanLLKuSggxhh+Kz+JTFueA5sAfvVzWpCsWT1jAlT8y6v2/RNg== 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=quarantine 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=+ptZHFWO6YTp0clNQoAGZT9zrgFvgfi35RSo365NPXY=; b=mzvNShZ/XhEKhKOWU90mqGQV0NAsPTkQuqyVWYcMvLkhU4RASbDCtd/NQgY78d+/Fmrcju70aGko5JwV0cBx4AIcS/1/zoPGrSAaOS0rpIEdhuaPjwQcd2NP41nmu4h7tj5IIZrYL/jy1p7pTgmp/5UPdQe/+bR4ZmIleHKvuOoAc1boAPSHOQZgtpT9TPhlQfe+tZeFcL6J5phdLAquXz6jcCdnAUGtXLyZ3xZxFSn7E6oK0JInoG4tlqFmxnI3l8BCMd0IjEM1UThlTQPPYDXb+knO6YKjp49W/TEQnVvh8v01TmepfPeby6h9cw4CX0d1frgXOh2RoaqEEJAzzQ== Received: from DM6PR10CA0011.namprd10.prod.outlook.com (2603:10b6:5:60::24) by CH2PR12MB4117.namprd12.prod.outlook.com (2603:10b6:610:ae::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.21; Tue, 23 Nov 2021 22:32:16 +0000 Received: from DM6NAM11FT003.eop-nam11.prod.protection.outlook.com (2603:10b6:5:60:cafe::c6) by DM6PR10CA0011.outlook.office365.com (2603:10b6:5:60::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.21 via Frontend Transport; Tue, 23 Nov 2021 22:32:16 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) 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.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 DM6NAM11FT003.mail.protection.outlook.com (10.13.173.162) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4713.20 via Frontend Transport; Tue, 23 Nov 2021 22:32:15 +0000 Received: from nvidia.com (172.20.187.5) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Tue, 23 Nov 2021 22:32:13 +0000 From: Dmitry Kozlyuk To: CC: Raslan Darawsheh , Matan Azrad , Viacheslav Ovsiienko Subject: [PATCH 1/2] net/mlx5: fix indirect RSS creation when port is stopped Date: Wed, 24 Nov 2021 00:31:58 +0200 Message-ID: <20211123223159.3324247-2-dkozlyuk@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211123223159.3324247-1-dkozlyuk@nvidia.com> References: <20211123223159.3324247-1-dkozlyuk@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [172.20.187.5] X-ClientProxiedBy: HQMAIL105.nvidia.com (172.20.187.12) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ae2834dd-eea0-407a-00a4-08d9aed119fa X-MS-TrafficTypeDiagnostic: CH2PR12MB4117: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xgEqTM5sC/qHp1s7m2XV22vSFzb9G54Vij/jY8fOSZ8SHqnmI4bhB4aKFOz95KYRWbK7XA8PNLXZUxKc3YRYnV0z07tqtYYt5NgF0rU9LjekmdvqTGsTW3xBh6aUlI1qZX425vAdyMIUSaFWCXScMETjb4ZK1gKgLZR/FqjM+AiApyy9CYv3CoP/nsZ4Zyl9VKwtm15l58JGKrdbrc1pTIh3CL7jc4hhvI+041qvb3Uj+34afDaBcMU9n6xZ290dphUqQvH0Y5d5MLNY23omZFjbC26jT3lkia83Cgxj2JQ1Kp+JbfAs9BFlilo3tz5Jz4555aZaMlx1dD7W9ZGj5QDIdEUhhng9/OXVOyht3PrWD1fVnjMPL6cHaHjr2QP8n0jmkKK2Hhd/574+x9INu6tsjQ6PYT/nT/IpwCxB94vN4G4qERYPCWqcW2ImWxBSZsSSloylgV3VO6mIxM96b6UyWgg5Q9aixnb98MhqMxtF6fApliuQIAFFfJmGH+CVxXxyhcCbpFzgXX8JNePpdRb5kIhxfDtk0NHjUhQREUQXJVU5BYr2MC1dYSIy4yumBV+5LoI/yXHCjmwiOnWBfgTtO1MMknluAg7ZBIxKVFvlPp639hHRTT7iW4p7+oJr/T0iOLVLSdUJte6hvvNSaJfAxC+v1IWNz5hMiv8vmR12eH4mh73WmUCgTVrX0UZySpPZng8C4GNT9yGhT/tndA== 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)(46966006)(36840700001)(6666004)(426003)(7696005)(70206006)(1076003)(2616005)(6916009)(8676002)(86362001)(508600001)(356005)(6286002)(316002)(83380400001)(5660300002)(7636003)(26005)(54906003)(36756003)(186003)(2906002)(16526019)(4326008)(82310400004)(336012)(55016003)(47076005)(8936002)(107886003)(70586007)(36860700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2021 22:32:15.5049 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ae2834dd-eea0-407a-00a4-08d9aed119fa 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: DM6NAM11FT003.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4117 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 mlx5_ind_table_obj_setup() was incrementing RxQ reference counters even when the port was stopped, which prevented RxQ release and triggered an internal assertion. Only increment reference counter when the port is started. Fixes: ec4e11d41d12 ("net/mlx5: preserve indirect actions on restart") Signed-off-by: Dmitry Kozlyuk --- drivers/net/mlx5/mlx5_rxq.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c index 47dc24793b..8f9a94572f 100644 --- a/drivers/net/mlx5/mlx5_rxq.c +++ b/drivers/net/mlx5/mlx5_rxq.c @@ -2270,6 +2270,7 @@ mlx5_ind_table_obj_setup(struct rte_eth_dev *dev, struct mlx5_ind_table_obj *ind_tbl) { struct mlx5_priv *priv = dev->data->dev_private; + bool dev_started = priv->dev_data->dev_started; uint32_t queues_n = ind_tbl->queues_n; uint16_t *queues = ind_tbl->queues; unsigned int i, j; @@ -2278,22 +2279,25 @@ mlx5_ind_table_obj_setup(struct rte_eth_dev *dev, log2above(queues_n) : log2above(priv->config.ind_table_max_size); - for (i = 0; i != queues_n; ++i) { - if (mlx5_rxq_ref(dev, queues[i]) == NULL) { - ret = -rte_errno; - goto error; + if (dev_started) + for (i = 0; i != queues_n; ++i) { + if (mlx5_rxq_ref(dev, queues[i]) == NULL) { + ret = -rte_errno; + goto error; + } } - } ret = priv->obj_ops.ind_table_new(dev, n, ind_tbl); if (ret) goto error; __atomic_fetch_add(&ind_tbl->refcnt, 1, __ATOMIC_RELAXED); return 0; error: - err = rte_errno; - for (j = 0; j < i; j++) - mlx5_rxq_deref(dev, ind_tbl->queues[j]); - rte_errno = err; + if (dev_started) { + err = rte_errno; + for (j = 0; j < i; j++) + mlx5_rxq_deref(dev, queues[j]); + rte_errno = err; + } DRV_LOG(DEBUG, "Port %u cannot setup indirection table.", dev->data->port_id); return ret; -- 2.25.1