From patchwork Wed Aug 17 14:14:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Slava Ovsiienko X-Patchwork-Id: 115210 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 CB358A0032; Wed, 17 Aug 2022 16:15:30 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BFD75410E7; Wed, 17 Aug 2022 16:15:30 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2075.outbound.protection.outlook.com [40.107.92.75]) by mails.dpdk.org (Postfix) with ESMTP id 461F54068E; Wed, 17 Aug 2022 16:15:28 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EooTgciyujGSb9Q4zAV9krWpGn3MQuDX8AFnPZ1MmFCHnoslY1CJFK9NFVrR3JQq6uqijzzZFghK8b56njcUR28Ze/mjBGxzu0GpmymFqZyRVwhx+FGE6Y2+mK2buLTpRMZ4CA06ZOLpcmmE1j4SOWeofJhIzQ21PsHFaJc/BZoe/gLir1LBm9AIr2HzICpOZ7K4ZW/xvYJTpULPVyq0EzmbQSe//ySvP9TvnnMmOzCgFBF0r4GpS/oluVVE4yPAWw6o2lLPr3y+tM2PepWint+UdrBI8/cfIGX1cbsc3Dwgnjyld7AVnaEoBx97EY0Mh2BLXH969JsM8Ar/W7ad+Q== 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=k6dCgHl1boeZttee2gHRU9cTjKphvOQXJbgwv24cOyA=; b=EY3KRPOHpqSmJ9okkoy3xD8m8OqaAtDbiDAZTzgef+T91CfY+MbHBlc+7vM++mzDE3XPTn0t6oFASE4Ia7GUE2EyyrrZ+NWYsVgxhf5wCilnu+xg4yDTIjC1fdXMyQpmtYHCdizW/LtacGxj+eoMYQieW/J4JKASIQTYmy6+FwWIqy9CXJCcWfsCBoUhQj8xNEWwYw6J3ptOzzlRfxjKTAj5M32Luoe+VZEQbjnmaEell8UZzVGJmyXYm15VRLVWGQdsjBcIIWzD170Q58LiVR86DFkSpjQ70O10hApeLIZAQ3psuCPoKLXsJ+7vGu6B+zvuECfopRga0IJC6rUSFQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.238) 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=k6dCgHl1boeZttee2gHRU9cTjKphvOQXJbgwv24cOyA=; b=KJVdq9rmMhOl3y4mEXqmycqc6jnaHbi0yJPHlxZvqR2v4XZJXOoKNGULyn896lb7n5atx0mCZMx3i0QIvvFqEo/PwXPaua5JBulNzaBsspZK+u2qfzblOupRMBJzPGSQgGuplUvzn9v+oRVmjLEseVzkcnUdgslbR2VDd4IOwB2ERsGCw4yGxUyCUsvJn0orNsSDi3LmzHRaBBVjoErUuiVzKeFHGNncNFywH+08NG4KxCiOs18AboFyh7Hy8HRvPjqMOdmQm1iJRJdtAj8OD3ZZOscbEmhXCsk/lfSAxP+qtfW0kPOcBX8PUyIwMV7p3kLo4DWWlVgfDalKNHuEYw== Received: from BN8PR07CA0023.namprd07.prod.outlook.com (2603:10b6:408:ac::36) by DM4PR12MB5746.namprd12.prod.outlook.com (2603:10b6:8:5d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 17 Aug 2022 14:15:26 +0000 Received: from BN8NAM11FT023.eop-nam11.prod.protection.outlook.com (2603:10b6:408:ac:cafe::cc) by BN8PR07CA0023.outlook.office365.com (2603:10b6:408:ac::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19 via Frontend Transport; Wed, 17 Aug 2022 14:15:26 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.238) 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.238 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.238; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (12.22.5.238) by BN8NAM11FT023.mail.protection.outlook.com (10.13.177.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5546.15 via Frontend Transport; Wed, 17 Aug 2022 14:15:26 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by DRHQMAIL105.nvidia.com (10.27.9.14) with Microsoft SMTP Server (TLS) id 15.0.1497.38; Wed, 17 Aug 2022 14:15:25 +0000 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.29; Wed, 17 Aug 2022 07:15:23 -0700 From: Viacheslav Ovsiienko To: CC: , , , "Raja Zidane" , Subject: [PATCH] net/mlx5: fix condition to avoid Tx failure Date: Wed, 17 Aug 2022 17:14:33 +0300 Message-ID: <20220817141433.7654-1-viacheslavo@nvidia.com> X-Mailer: git-send-email 2.18.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-Office365-Filtering-Correlation-Id: 1bf31a8f-aaf6-493e-11c0-08da805aeec2 X-MS-TrafficTypeDiagnostic: DM4PR12MB5746:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: elrdghkjLYoYkLXYA1RJqGwmF/aGY/RP00MxE70W79aUv9+Ysg/T/CB0HD/sPzpVPMEZnn/sUdvg7EeIuBErd+OlTii/DmuMu7bqYeuR+JFT9frhGK2RFoCyxrliOm84onRH97DiB15nC+kisXrXY14DW1ASrFiN1HPsbfPtn7z9NAiSQUNwk4R0ywEYpYzug+0jzbGhwhv+KC+p4gUNbU/7nhlCS/K8fua1bhWoSieN/cytGHptGJMDd8T1a43d0CQwTEJwfyvC8YNcdza2UQvhsOAs2974v4hpx621aDv2aFcgtxU1Apyy90YJBldXKSfpY63O4B2VpX5k2c+Eu9dPTasByQ+/gbBUxZliHbtGQcuTaAvX1mATvDcN3+kbMxspD9esxuij/Oh1ECBuHkb+uH6EcH9EavMUoQlWwOvawzgilWLEUV9ASzPhr2TD4qltXWCV5odlrzMmVJn3TCFucZITUuN44B3G9GecUJAjxXfdG8Rf/dga66g9kFOwtnvMWzF7ZQVMllNodZf0nqQah0/3JyK51TBnXeHbhLX9i9aU637xLgoxIIUrWZRyyf5qddXZGSY7Rl2xaZEMHvKOTZovdnejNYaB5uLXsgP0cbBrunBt/TxWvHixsnE31NXewDEkHXk1cadadFRGUeVXshOY6sgix94jt0bHzVgUF/21nnR7FWhe6Y5xuFCm2x8BaSfYH10scT2kx2Uw3+MSMI/NvPhRI75E3PXoc/AtvfPuz8nwK9E4bfuF2WBeUB4oL5Agaax13sXR6FYwDKJkRGFr4fjMIOmWymdZoNR4k+aO1PbYuV+MVzhORNXOh5C+9JdEKGiBQ316XBuFFg== X-Forefront-Antispam-Report: CIP:12.22.5.238; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230016)(4636009)(396003)(39860400002)(376002)(136003)(346002)(46966006)(40470700004)(36840700001)(54906003)(47076005)(336012)(1076003)(2616005)(40480700001)(6666004)(55016003)(186003)(6286002)(86362001)(7696005)(36860700001)(36756003)(26005)(83380400001)(6916009)(40460700003)(82310400005)(316002)(16526019)(4326008)(450100002)(426003)(41300700001)(70206006)(70586007)(478600001)(5660300002)(2906002)(81166007)(82740400003)(8676002)(356005)(8936002)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 14:15:26.5735 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1bf31a8f-aaf6-493e-11c0-08da805aeec2 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.238]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT023.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5746 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 From: Raja Zidane If hardware descriptor (WQE) length exceeds one the HW can handle, the Tx queue failure occurs. PMD does the length check but there was a bug - the length limit was expressed in 16B units (WQEBB segments), while the calculated WQE length and limit were in 64B units (WQEBBs). Fix the condition to avoid subsequent Tx queue failure. Fixes: 18a1c20 ("net/mlx5: implement Tx burst template") Cc: stable@dpdk.org Signed-off-by: Raja Zidane Acked-by: Viacheslav Ovsiienko --- drivers/net/mlx5/mlx5_tx.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/mlx5/mlx5_tx.h b/drivers/net/mlx5/mlx5_tx.h index 59ebe95032..e0fc1872fe 100644 --- a/drivers/net/mlx5/mlx5_tx.h +++ b/drivers/net/mlx5/mlx5_tx.h @@ -1783,7 +1783,7 @@ mlx5_tx_packet_multi_tso(struct mlx5_txq_data *__rte_restrict txq, if (unlikely(loc->wqe_free < ((ds + 3) / 4))) return MLX5_TXCMP_CODE_EXIT; /* Check for maximal WQE size. */ - if (unlikely((MLX5_WQE_SIZE_MAX / MLX5_WSEG_SIZE) < ((ds + 3) / 4))) + if (unlikely((MLX5_WQE_SIZE_MAX / MLX5_WSEG_SIZE) < ds)) return MLX5_TXCMP_CODE_ERROR; #ifdef MLX5_PMD_SOFT_COUNTERS /* Update sent data bytes/packets counters. */ @@ -1858,7 +1858,7 @@ mlx5_tx_packet_multi_send(struct mlx5_txq_data *__rte_restrict txq, if (unlikely(loc->wqe_free < ((ds + 3) / 4))) return MLX5_TXCMP_CODE_EXIT; /* Check for maximal WQE size. */ - if (unlikely((MLX5_WQE_SIZE_MAX / MLX5_WSEG_SIZE) < ((ds + 3) / 4))) + if (unlikely((MLX5_WQE_SIZE_MAX / MLX5_WSEG_SIZE) < ds)) return MLX5_TXCMP_CODE_ERROR; /* * Some Tx offloads may cause an error if packet is not long enough,