From nobody Sat Oct 4 11:11:59 2025 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2050.outbound.protection.outlook.com [40.107.93.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D531218A6DB; Sun, 17 Aug 2025 20:23:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.50 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755462223; cv=fail; b=rM6goYrrzlSizYn2r+o89VEV0pjj/cucizzukkssiHefV8w15kbjFvGIIUxPOCnS0YnnDlbo6c2dQFNne+CEHoL5iJ0S/Xoc9BfwvqhORKyJUGLJ7Nf9Pb77GgoXMmWkNVO+jHXt+xjiLr4v3A+CpS78zzgwjngkN3LAXStxxZY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755462223; c=relaxed/simple; bh=O+8hDs7Vhxe7K2bS/AgjzTjeOHHzaXcJs0/YcWSGLa0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=JKMhGFrthbzjhKKgFqZ6OFyA5FkIW09rSpm4wwaGwKOL3ZUFo8gCVfJ4WxZl7UxUL0lc3zpD7IDP9ZXpvcc09poYV3mErBeff9FA/2QIERPjUVrAbQJylKVMbi86CZ6RrT1FhSzJUUoEb26czRMmDkNYBRhDKsDxUwCD2Q3aXYQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=arSKGAkq; arc=fail smtp.client-ip=40.107.93.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="arSKGAkq" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZfCoTC/GIEWXo8G4FH42K62qSW5M8eBsWfXbSOy9GKzsIQyldhoYJyLSIfBAH6Fr6uZWQwJaeLpAi2Is1YQ6WWdQKbSouvvS3++/a9Ej5P9OVbiROMblrR0i7YcsUoy+Dx0vc6cvVCx6Fj2G6AxUwVevVDpNQ/AI84VQlR6sAkHQE3oO/zAHq1QZ5ZIOqJLYQGg/cSHcY/hMjYV3b8JVKUaD53ZsdHX+/XoT3LHJdWSNVFpAPxtvAc29U5Kme8xT2uXdeax1VmHQFhp+gi3wmuz9BFWBy9H1FM7lP3W1cdXtNuEd9TpRTneNTyuBgo2pc+IDztxZmVVxxPSYZJaE1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=+TQR7HqyjHUUj8x3+SNbQbQ6bnshD+b9Aidmb4wBVJw=; b=ICKNP1tB3JsHUVn0vEkAbPWgUwKWgGxec6btBO7pzzr/+ecO2JPHoQGRwu1J/eJON5Cg0u7IDU6UR30UifO2gUyoxjhfolDpJsSY32egHBAZXtdqz0AymQzhyo++1jVR3HQkJPYcPdBMTzRccD50mBXFp0FjLRqHBLj51876letEdYynOJeXHo1g4vDCHevx3tBggTt8XR+C1LE/b5mGkjt8HrHztkXvsLrU3drRd7S3dtjp5zrwvuOwoRhJE6d1wptFnbj9FQXSm7F7qLy0ZKG2otgCWPxBSKWNbrgVNI3i+94Xnpn0I93yHbL/7jaq2kVWq5B33L/HxrR6bCMviQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) smtp.rcpttodomain=google.com 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=+TQR7HqyjHUUj8x3+SNbQbQ6bnshD+b9Aidmb4wBVJw=; b=arSKGAkq1I9phOqrHrQ/3nSBIloenAcBEFF6H9OFc5WIf9Xe5xkXR1d//wCzEFm50Kq0SQgU9xoJk6njfOHtWvTBwQTEsS59hzXOafKTa9vwOvkGR6LIBibX5PNK9hhRlC56KZ3xNfNBjlJBnetBV7NeNliuDWtfrMmPwFUJneO2qrwdYzKZsyNjcgdP5wnOr24gThYxLdlzGQRYnZpCrM5f0BEyGHK8Ou7uleJ9pOb3BjrIWbUteRV1oCbP/6H+Uov6hWV0ONnwSBYk3YEFZpwFYInAkSwVhtza4E2b6wJGGD/+S4w7F4bsAkp4Zt0iJ1X0zuAxDPWPshn/hwFCDw== Received: from CH0PR03CA0411.namprd03.prod.outlook.com (2603:10b6:610:11b::27) by SJ0PR12MB6941.namprd12.prod.outlook.com (2603:10b6:a03:448::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.18; Sun, 17 Aug 2025 20:23:36 +0000 Received: from CH1PEPF0000AD74.namprd04.prod.outlook.com (2603:10b6:610:11b:cafe::e5) by CH0PR03CA0411.outlook.office365.com (2603:10b6:610:11b::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9031.19 via Frontend Transport; Sun, 17 Aug 2025 20:23:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) 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.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by CH1PEPF0000AD74.mail.protection.outlook.com (10.167.244.52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.8 via Frontend Transport; Sun, 17 Aug 2025 20:23:36 +0000 Received: from drhqmail203.nvidia.com (10.126.190.182) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 17 Aug 2025 13:23:35 -0700 Received: from drhqmail202.nvidia.com (10.126.190.181) by drhqmail203.nvidia.com (10.126.190.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 17 Aug 2025 13:23:34 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.126.190.181) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Sun, 17 Aug 2025 13:23:31 -0700 From: Mark Bloch To: Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , "David S. Miller" CC: Tariq Toukan , Leon Romanovsky , "Saeed Mahameed" , , , , Gal Pressman , Yevgeny Kliteynik , Vlad Dogaru , Mark Bloch , Itamar Gozlan Subject: [PATCH net 1/7] net/mlx5: HWS, fix bad parameter in CQ creation Date: Sun, 17 Aug 2025 23:23:17 +0300 Message-ID: <20250817202323.308604-2-mbloch@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250817202323.308604-1-mbloch@nvidia.com> References: <20250817202323.308604-1-mbloch@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD74:EE_|SJ0PR12MB6941:EE_ X-MS-Office365-Filtering-Correlation-Id: a6321f6b-7f1e-440f-1f4a-08ddddcbf237 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?1ZBRTT+YaKmcjpos8krve2kYaqrVLrBhlvuKDE/jPwu4FDykcSJC6NWNq4HI?= =?us-ascii?Q?TT9zG8QCMP7ATyzafzpeVic9vk3vkbJ1Ar3sn0LIk5w+4dqM3uV+5o3k2sSs?= =?us-ascii?Q?CLdjum6Hg3KCX5tVl6c9eJbls7WZkH4amZELYjIboMynuR/jWcDvXdpzTUe6?= =?us-ascii?Q?o8eRHl4fQrmK7Mo24DC/93MDTxZFqWyBF89oqlGwvOeePwiF3r0dfZq2coob?= =?us-ascii?Q?gMiFqpqPUf5wwvJtLPt8fcGvn8SNUkFtKnbzW1QmheX6rr2hHFtwfpah4vK7?= =?us-ascii?Q?g7Nin+mogLNWZ7KLif3N+ybk71VLdgVaq7rWE62LSTndNBA36Pu1tLvmJ4WY?= =?us-ascii?Q?/TcW9e7lTWxOTAcrrHiFY55heOIpBjvHOO4FZ5aWslAW1mxaC/QJhgc/dktl?= =?us-ascii?Q?wa6EqAOZ38rSCI39+Ewh7XmfJgqqO0kKkB0pN6bpX5SGvKnIOsoRAw/aCmAw?= =?us-ascii?Q?xjfQ4joAF0pZcNa/EL3BEyjneReN/FzY5s0TroAC9YcR69Ki0p7+sh7ydmqu?= =?us-ascii?Q?q5L9+EgPEszfsEJNEYn4SxDiVn5nnz4ND1FBZoZx6AuBgtu29qql2QSKpngy?= =?us-ascii?Q?BgBBh747kP7juStuNCSAENzG2U76+Z0PGkP1BDWSf6wFq+J558SEIMTqf+3N?= =?us-ascii?Q?DYRn9ZSwhOMOtrFXCW8tvQ5H0j+PA9v54/gP6lqD7yy7Yg1QFHpPgcY6Kslo?= =?us-ascii?Q?AmaMb/DUzi2kNpxm1szNBYYFHaUp1gXlwP4VxlLADXu72dvNcLoH2UFjc3wU?= =?us-ascii?Q?A4abtww0z7JaNl75Lc4vKWaAP9BxGS55UKDJU+Bal9twG/QaAkl2SIHV4B/Y?= =?us-ascii?Q?Av6w4yniWVPdujFHVgAjZrsq6alYjd3SuZO9WaSlbiFQvlBzoGst+sjQTUBt?= =?us-ascii?Q?Rd1pLeUnjpL5g8MpH6LbRDpNP4911H0rCogzJ435s1+EFyIKphZ/rCyi6Gk5?= =?us-ascii?Q?qHyRPAT0Z+UUY+G6Ir7TGvv+oLt1RBWAKTjOFj9G4QkxMQbvpJ8xokvrE6Th?= =?us-ascii?Q?U1LK7h9kQPNLDb+5i0/Umke4C3ktF53R0114UtWl6HnCgzR0gIzbBOI2xGHA?= =?us-ascii?Q?sJZNme4CWJ3Z+aU8JGovLknxctnRCTQ9ahkZfoyP5aTBu4Fi6VzRAdMDtGlx?= =?us-ascii?Q?AgfdZhuuwmcIFN8X/ycfdslrj23wx7PDgGiYGrwTFhiK0aBnVuB/SmqyLpwf?= =?us-ascii?Q?cdpdrQ2euy/QOPI7Yow8Teuqx/ta3+z8Dt6OGLM7V2WYLP7xw7F5FUltf8pe?= =?us-ascii?Q?U2T4BNtVyvT/+Pg6//6yZU5Uf9fzhBxZ1r91RLnJTOcxtI2pNRB9SyWMHPJ2?= =?us-ascii?Q?OeiWxwRDO53ZRDApcjWf8G9tw6W7Z9uKiHLI0l63DvQnVoUTWRlfqwM64mEA?= =?us-ascii?Q?AUN9n6pvQpYgZYtVKWtvUkBwJy3uUIhOItl8e9apoRwdWxBi8GcO9Mokc9Xv?= =?us-ascii?Q?dUbm6705ZF88REcObnC309uqMK3NR4Lwv1OzE5SvOJgifL1IjsljLYqetsIg?= =?us-ascii?Q?snSPQKTsAtKbpDeATkrCsNpKEq3oh4vYtq9d?= X-Forefront-Antispam-Report: CIP:216.228.118.232;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge1.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2025 20:23:36.6874 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a6321f6b-7f1e-440f-1f4a-08ddddcbf237 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.232];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000AD74.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6941 Content-Type: text/plain; charset="utf-8" From: Yevgeny Kliteynik 'cqe_sz' valid value should be 0 for 64-byte CQE. Fixes: 2ca62599aa0b ("net/mlx5: HWS, added send engine and context handling= ") Signed-off-by: Yevgeny Kliteynik Reviewed-by: Vlad Dogaru Signed-off-by: Mark Bloch --- drivers/net/ethernet/mellanox/mlx5/core/steering/hws/send.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/send.c b/= drivers/net/ethernet/mellanox/mlx5/core/steering/hws/send.c index c4b22be19a9b..b0595c9b09e4 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/send.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/send.c @@ -964,7 +964,6 @@ static int hws_send_ring_open_cq(struct mlx5_core_dev *= mdev, return -ENOMEM; =20 MLX5_SET(cqc, cqc_data, uar_page, mdev->priv.uar->index); - MLX5_SET(cqc, cqc_data, cqe_sz, queue->num_entries); MLX5_SET(cqc, cqc_data, log_cq_size, ilog2(queue->num_entries)); =20 err =3D hws_send_ring_alloc_cq(mdev, numa_node, queue, cqc_data, cq); --=20 2.34.1 From nobody Sat Oct 4 11:11:59 2025 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2062.outbound.protection.outlook.com [40.107.236.62]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7FFB5221DB1; Sun, 17 Aug 2025 20:23:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.62 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755462231; cv=fail; b=O/TQHFq1FE9268WvZyZ+ouhkOZjbkuVZXnJ8eQJQel8NDX1hpEcBTvM7v/XNKq+Cp4SZdOSdcEZtVAW0neemeFKsGWNBw/BBaczNzRILySyOL3VjFiB2aDQZnwptPRDC/JbES/mKO6CS4HPoRczepZeLrMXTT5w5Dgc3LTD4HBw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755462231; c=relaxed/simple; bh=VD2P1Z/cuyXaxU+/BujTt9sPH/DOmYmpjfzlYrGdMeU=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=tb5gVSGif6ovwcqMoENim8DKhajiFwIXEydn8HcEDCCqXIxmayPP31kmxMzsOv1ktqi772cZ5om2RZpaRkEY7O0xkxM3+/Z9gRpYL+rT9cz0Ae3wckMUhdXZ8xpW2NfJvDwrRV6KcH9vczfMJ46y15YWBX+N+8xEgkaHa4oTNW0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=TbiklarD; arc=fail smtp.client-ip=40.107.236.62 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="TbiklarD" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Af4ExIpWqJybiVfm8VivshaJP9SLzth2YYbPREm/UtmAfX+u58Mq3zVgtsR2TEdDtqWDTcVW/R0TwF3s4TqNeWu0GLJFPTlKM40ebmjqb+tj/jMvhLPFJdlgUlwUwMrGDJN7nShirQ6hamRqHMMGDmW2d3QeMTvstnglGHmi0V1wB1jkhTyB2o0AHQ0aBXAjE+806Z2bdz/enox+qEZQxccA4cNhkyYOdomWgfH0bfJ9z/SykDroNRZAXMvh0ZxmDXRnPnDMU/+X/HHeIUfpOop37Z41QvBcrrxlZPHLeZSXznnOEiF28RsnP5NX7XFYsf36x9NCzBOV1a8hpLwB7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=P1n27i7KQlUF8crVOrOU0N6l9II3c77PwH65A0ZTtD0=; b=muTlpk4wLOFKSY4hdINo0HnvxUTLZbLrpW51xHHSfL1qUfGEXAjD28LAjb8D3lTgNLagKvrhpTQhPAE1lCLygLkxRCvwZwId2PhezXcqbNbKYTz8/FqHGGdTosZYPJiVuDTt5QD907xx4F0EqfM/i/weHpohUrMk7fjZQkcX1q67erBfwlpXQHWCMjV2507g63TvgGje9a15dzG222W9zwhrsacpyd6IP3tN5fDrHcVjMqyVjirWR8pRN9G08QQmoSZkrPvhjt+wlw24O95capQ03igR85f4dY3sQiLQKQ62VgPeA9HFM7fDQA+3egPuur+9QTgWbYbSa3yC9pEDgQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.233) smtp.rcpttodomain=google.com 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=P1n27i7KQlUF8crVOrOU0N6l9II3c77PwH65A0ZTtD0=; b=TbiklarD1WSpJOxju7repmPUf2mRwHuBfdUMqOejxi4j2c4Zgup5LyYpXfcqfYUy/VByIDJz+U2zSfaymBpmafT5FPW458h3ZyrlwoHuxMqFNV6ZRyMWj8V/R2l7Nk0FU/l4Qdywdeq1o7bzVT/Eor7ZoPRImIxae1t3wBzRKTxXjDrr2OeYy463FspoQvOwPMD8gRNc4UVvFkaGnCq70Qh9IiAY2+lhhTPm29pfNbqo5vVRLWnoOlykzyay8JZq4iTa11AJxY9OMnDkwEoIHtrJCCkRAvALJUIC2cejt5vswv4F2zcsBERGReeLjdkg5CcUI5ufkwgoVDX5PIlxjQ== Received: from BN9PR03CA0127.namprd03.prod.outlook.com (2603:10b6:408:fe::12) by BL3PR12MB6403.namprd12.prod.outlook.com (2603:10b6:208:3b3::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.24; Sun, 17 Aug 2025 20:23:42 +0000 Received: from BL6PEPF0001AB75.namprd02.prod.outlook.com (2603:10b6:408:fe:cafe::ba) by BN9PR03CA0127.outlook.office365.com (2603:10b6:408:fe::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9031.20 via Frontend Transport; Sun, 17 Aug 2025 20:23:42 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.233) 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.118.233 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.233; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.233) by BL6PEPF0001AB75.mail.protection.outlook.com (10.167.242.168) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.8 via Frontend Transport; Sun, 17 Aug 2025 20:23:42 +0000 Received: from drhqmail202.nvidia.com (10.126.190.181) by mail.nvidia.com (10.127.129.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 17 Aug 2025 13:23:40 -0700 Received: from drhqmail202.nvidia.com (10.126.190.181) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 17 Aug 2025 13:23:39 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.126.190.181) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Sun, 17 Aug 2025 13:23:36 -0700 From: Mark Bloch To: Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , "David S. Miller" CC: Tariq Toukan , Leon Romanovsky , "Saeed Mahameed" , , , , Gal Pressman , Yevgeny Kliteynik , Vlad Dogaru , Mark Bloch Subject: [PATCH net 2/7] net/mlx5: HWS, fix simple rules rehash error flow Date: Sun, 17 Aug 2025 23:23:18 +0300 Message-ID: <20250817202323.308604-3-mbloch@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250817202323.308604-1-mbloch@nvidia.com> References: <20250817202323.308604-1-mbloch@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB75:EE_|BL3PR12MB6403:EE_ X-MS-Office365-Filtering-Correlation-Id: d2a09e03-8057-4fd0-4c0e-08ddddcbf592 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|376014|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?+Kgm2k+7tByXQ8dwx07OAglLE33B1haURd31KySv6htUkAxQMFNC+IJopmFY?= =?us-ascii?Q?XrwJ0OCy+CfqDmToHXKCpIVnhsFIE+YKdfmQ8wW+vGxHACQlO2wuSoRZvE4L?= =?us-ascii?Q?qiet8sd0EoD9pf6+fIVkyPbRm/ZnSiqejdQzHoMkFKxA1QmHRWu57CgBQz/b?= =?us-ascii?Q?IIuZpA8PDsn7DCLAxqPbGr4eleyKH9Oeieg5mXXcUZA0m9bH47W4L+Hh7GUQ?= =?us-ascii?Q?jrNgvhWAFKzumuTEiCk8StWp3kYjQ2RNAl9Eejx/YkG+HceKyGC9lwEwm8xO?= =?us-ascii?Q?daqfKtT0Jhz43/zOgXy6eivlkwH9Fp2UN6dOX4xQ8LuzRsmglaBEI6Cd0Q4x?= =?us-ascii?Q?Uv6M0cMQJyiBCz4zb8FC4eHNc78kNolDF9VT/BW/EeL9mBP63W12bTXU3BAM?= =?us-ascii?Q?gveSc+6aAbjxdkYowPPtM0Bb6yx+OhLXX9X4WnCbFx/cD9DGDQKFMkY0Q64K?= =?us-ascii?Q?Z0TLZEmPXWvd5dSyZ6LG3pPKIckJ5qgH/JW/jG9RzeFZqGxKagawraua0WB0?= =?us-ascii?Q?6JtHkzDcrq8M8hQu+NvjH5Ud7acNdrn2SLd6AIE6Zj8gYr6mZc9gJjWFyeih?= =?us-ascii?Q?dWPZnf8O2z6NyWrY6cw0kZ6Abwezcu8cwq3vwD6kbOscikrcDrZRDaWJcqJt?= =?us-ascii?Q?JLxKs+ymKixVqVhcPkfCzeL1ONpsC9yDMXZ3gqUK8J97yYbreJIGotdGB3D/?= =?us-ascii?Q?YuX44ODx5UT+khjiYSZUNmwN9WiE4pDi6m4LL3B33dDijHTROWAUpnLmm+qx?= =?us-ascii?Q?DUDeP/T5wnP/q+6iKLRdJT29UXTqasPZD/KjBxLLtPN5O829KAToDkVX6reA?= =?us-ascii?Q?iFFYWQpzlCxnVmL3oBzVoIBOa9zuX9zpIOnkfRF5FuDm1T9AfI1PJa7VqO3F?= =?us-ascii?Q?Z3vIe7oWg5RdA7EYTdRqGpzf90xEI1tXUhP/KI6JOIrbuA/xuKWgQrpWG4ZX?= =?us-ascii?Q?k9tWIt13xdMX7NI8y1zWzyl18DTokVxZxntgTqc4cY9chCstPUxYwmvuJWmG?= =?us-ascii?Q?0Mvtfheba11HMq4rUtdXTw98sgoxvq4hdmk2XG1gat25tvHm+FA+iWWN3Vw6?= =?us-ascii?Q?UBI9imR1OoRZ0zYnQwKm88S/96lej1vpphKas01HXMpr1yfk6lj2RrmaKvtA?= =?us-ascii?Q?EvDkUkFHWlu+EQM9mFOyFWJhfS49vW2yyF9bRjw3X+TqncncGnhcS1xYhbr/?= =?us-ascii?Q?UBEb7OM1B2Pp33pJ6hitAhoWqXGUi/0MGc4w8bnuYpGs5Glepn4SLziIV1x3?= =?us-ascii?Q?b3aOehO4UcmZouZcUShl4ixenpADJ2Dwnf2zHoYzaQQZ/0tdV3r2NN0tRAoW?= =?us-ascii?Q?GqjdGJF011UEuFKu4GwJpZRqj94q7uxjUlBQa2Rea8sgh6mswnQF3wpeQtje?= =?us-ascii?Q?xtpUdHpHzrl6XqBt0z8eyh9SXQOjGwP9t9YdA6sOwc5a7xEAB1T5f8WfKc8M?= =?us-ascii?Q?tsvXpYVa9YlsSsLdYCONPq1g+8FcpYgjeW/XbFbsgJY7MqU+kfrPny74KUvD?= =?us-ascii?Q?yTOEeeOE5T+3KjxVVcOo2uOK7lbKBoQZmuv1?= X-Forefront-Antispam-Report: CIP:216.228.118.233;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge2.nvidia.com;CAT:NONE;SFS:(13230040)(36860700013)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2025 20:23:42.2466 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d2a09e03-8057-4fd0-4c0e-08ddddcbf592 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.233];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF0001AB75.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6403 Content-Type: text/plain; charset="utf-8" From: Yevgeny Kliteynik Moving rules from matcher to matcher should not fail. However, if it does fail due to various reasons, the error flow should allow the kernel to continue functioning (albeit with broken steering rules) instead of going into series of soft lock-ups or some other problematic behaviour. This patch fixes the error flow for moving simple rules: - If new rule creation fails before it was even enqeued, do not poll for completion - If TIMEOUT happened while moving the rule, no point trying to poll for completions for other rules. Something is broken, completion won't come, just abort the rehash sequence. - If some other completion with error received, don't give up. Continue handling rest of the rules to minimize the damage. - Make sure that the first error code that was received will be actually returned to the caller instead of replacing it with the generic error code. All the aforementioned issues stem from the same bad error flow, so no point fixing them one by one and leaving partially broken code - fixing them in one patch. Fixes: ef94799a8741 ("net/mlx5: HWS, rework rehash loop") Signed-off-by: Yevgeny Kliteynik Reviewed-by: Vlad Dogaru Signed-off-by: Mark Bloch --- .../mellanox/mlx5/core/steering/hws/bwc.c | 61 +++++++++++++------ 1 file changed, 43 insertions(+), 18 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c b/d= rivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c index 92de4b761a83..0219a49b2326 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c @@ -74,9 +74,9 @@ static void hws_bwc_matcher_init_attr(struct mlx5hws_bwc_= matcher *bwc_matcher, static int hws_bwc_matcher_move_all_simple(struct mlx5hws_bwc_matcher *bwc_matcher) { - bool move_error =3D false, poll_error =3D false, drain_error =3D false; struct mlx5hws_context *ctx =3D bwc_matcher->matcher->tbl->ctx; struct mlx5hws_matcher *matcher =3D bwc_matcher->matcher; + int drain_error =3D 0, move_error =3D 0, poll_error =3D 0; u16 bwc_queues =3D mlx5hws_bwc_queues(ctx); struct mlx5hws_rule_attr rule_attr; struct mlx5hws_bwc_rule *bwc_rule; @@ -99,11 +99,15 @@ hws_bwc_matcher_move_all_simple(struct mlx5hws_bwc_matc= her *bwc_matcher) ret =3D mlx5hws_matcher_resize_rule_move(matcher, bwc_rule->rule, &rule_attr); - if (unlikely(ret && !move_error)) { - mlx5hws_err(ctx, - "Moving BWC rule: move failed (%d), attempting to move rest of th= e rules\n", - ret); - move_error =3D true; + if (unlikely(ret)) { + if (!move_error) { + mlx5hws_err(ctx, + "Moving BWC rule: move failed (%d), attempting to move rest of t= he rules\n", + ret); + move_error =3D ret; + } + /* Rule wasn't queued, no need to poll */ + continue; } =20 pending_rules++; @@ -111,11 +115,19 @@ hws_bwc_matcher_move_all_simple(struct mlx5hws_bwc_ma= tcher *bwc_matcher) rule_attr.queue_id, &pending_rules, false); - if (unlikely(ret && !poll_error)) { - mlx5hws_err(ctx, - "Moving BWC rule: poll failed (%d), attempting to move rest of th= e rules\n", - ret); - poll_error =3D true; + if (unlikely(ret)) { + if (ret =3D=3D -ETIMEDOUT) { + mlx5hws_err(ctx, + "Moving BWC rule: timeout polling for completions (%d), aborting= rehash\n", + ret); + return ret; + } + if (!poll_error) { + mlx5hws_err(ctx, + "Moving BWC rule: polling for completions failed (%d), attemptin= g to move rest of the rules\n", + ret); + poll_error =3D ret; + } } } =20 @@ -126,17 +138,30 @@ hws_bwc_matcher_move_all_simple(struct mlx5hws_bwc_ma= tcher *bwc_matcher) rule_attr.queue_id, &pending_rules, true); - if (unlikely(ret && !drain_error)) { - mlx5hws_err(ctx, - "Moving BWC rule: drain failed (%d), attempting to move rest of t= he rules\n", - ret); - drain_error =3D true; + if (unlikely(ret)) { + if (ret =3D=3D -ETIMEDOUT) { + mlx5hws_err(ctx, + "Moving bwc rule: timeout draining completions (%d), aborting re= hash\n", + ret); + return ret; + } + if (!drain_error) { + mlx5hws_err(ctx, + "Moving bwc rule: drain failed (%d), attempting to move rest of = the rules\n", + ret); + drain_error =3D ret; + } } } } =20 - if (move_error || poll_error || drain_error) - ret =3D -EINVAL; + /* Return the first error that happened */ + if (unlikely(move_error)) + return move_error; + if (unlikely(poll_error)) + return poll_error; + if (unlikely(drain_error)) + return drain_error; =20 return ret; } --=20 2.34.1 From nobody Sat Oct 4 11:11:59 2025 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2083.outbound.protection.outlook.com [40.107.93.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9432723F26A; Sun, 17 Aug 2025 20:23:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.83 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755462231; cv=fail; b=giXlUJFGuB8h3GmSRL4IldrjWUBRXnZ2AhEAEQeab2HEl/Q9UmtVyqumk41ufv2G5JigPM1NDel3YV3sgtXNtrTZPJEXqZLiX2vaC6cyWkfXGq0Pufmn86FJqXTXQCC4talDayDeJgSAisiqYvTIhJam95EEn1HGpjT21JTyRCU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755462231; c=relaxed/simple; bh=2TtNVIpm2FQnpNy3noCbxrOAnTZ60OhIzfNE63zJ2Yc=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=DaU6yObZf2C69OCIOx5EnmaNrPBP63ZZni+nSyQZRni3lmT/H5kHEteOka7X1RQKZ5SHg0lF0hBdZgbD4yjxFK9GhO9ZbYF9NOvSadMySjGMmyG3wHGXf8Ic9GyTOqWlFTGpQGrA8XArQixJSJ2IWBpLLBMTqojuWKHD8GJxEo4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=KWkOwYm7; arc=fail smtp.client-ip=40.107.93.83 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="KWkOwYm7" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=j3yl3wn6X3kT6JcKHTnRALEN5ld75LgIHCLgZhSG0AqvwrNNZb7Z5DfgLwLmwyAxh+zdqm/jTtWgzt6N7JzuXBdnYGWwXBbdYaunIVZs48+fBLy66FDILvmXRKrnVY1p4TIxsy/3JR7UuDkIe+sdTJLoVschqj3w80H500vdOIOwjSYRovY90C10tU2zB9o7x1XX2olUkjjSMFHYPf6+L35jlpMtr9uNLrxPw8alc8Q2E6UdJHMmmwXZdwRnxh9e+prfSsGmSYnxlpFWL+l/+n9X6VSLVoSWOmGRqlaCzgdvm0W21VfICacr5x9ja3F9vwJwYJpM4ByEctwP5wgl9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=ekZxLlnEbfN3tXFvCSOmG5esOOTZMVzwbzKl3Q660Us=; b=Cps7q9jlmFCnplWxuraWSBJ/kPYQvjKeCSJSHvra5NVg+arx9E5iP+Qm5nLF9ifQhdG0Lvqyxch7aW3uAGjhBKv+gcPeMIEpnGWL8yoSFjxtALWoVzATIwszit/XRrZl027QAM8TJQ8VJA51WfPbG4UTGpoFlYwhediSpUHN/lnR9FGHfSxCFm/DZnHkBOTSt2kXbnNfZsID7XJmj6JiSPqeeVvql0sY9JByCIolKOvKWuBFm3Rtd8Rz3dG1d2yVcx+s1AEn3Q1iMdvcz7ZcomPol8UjpcWQh7bfDsF4iMNamxJPRRTWthl0QFM3MP4R8rgswuJ8T2h00iAWdEMVFw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) smtp.rcpttodomain=google.com 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=ekZxLlnEbfN3tXFvCSOmG5esOOTZMVzwbzKl3Q660Us=; b=KWkOwYm71hgHcYSmQAbQ84NJ75FSBGZeERFEGJKxv8vYgWGuxOVJeabgjksyCwiYeIYUVwyfaPe6lTvM1AHmEsfTnVEsXngGRhaLThkv77f6owB7ZWG525rBJVG6+y+i6pWoL9B2QNUYpJzuU75EAgmJ85Fw/cJTVkVgSnISI8Uqs0RHcaGF+zoRYROacl1ZihBHxHFYrXhCna1ppyDEzWBTeBoSi+wD7TZGTBhUUfP8UZRN+Xh42ZYkqc5DCJjntwlMEf0M4Cdat+/Thskr3THkIbK5Ls8X6wqCMqVFpym5Gxoehijoj53egmD3Sb4aGpDU26OL5SlPI4rl/ZG5sg== Received: from CH2PR20CA0017.namprd20.prod.outlook.com (2603:10b6:610:58::27) by LV3PR12MB9213.namprd12.prod.outlook.com (2603:10b6:408:1a6::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.24; Sun, 17 Aug 2025 20:23:45 +0000 Received: from CH1PEPF0000AD78.namprd04.prod.outlook.com (2603:10b6:610:58:cafe::c) by CH2PR20CA0017.outlook.office365.com (2603:10b6:610:58::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9031.20 via Frontend Transport; Sun, 17 Aug 2025 20:23:45 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) 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.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by CH1PEPF0000AD78.mail.protection.outlook.com (10.167.244.56) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.8 via Frontend Transport; Sun, 17 Aug 2025 20:23:45 +0000 Received: from drhqmail202.nvidia.com (10.126.190.181) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 17 Aug 2025 13:23:44 -0700 Received: from drhqmail202.nvidia.com (10.126.190.181) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 17 Aug 2025 13:23:43 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.126.190.181) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Sun, 17 Aug 2025 13:23:40 -0700 From: Mark Bloch To: Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , "David S. Miller" CC: Tariq Toukan , Leon Romanovsky , "Saeed Mahameed" , , , , Gal Pressman , Yevgeny Kliteynik , Vlad Dogaru , Mark Bloch Subject: [PATCH net 3/7] net/mlx5: HWS, fix complex rules rehash error flow Date: Sun, 17 Aug 2025 23:23:19 +0300 Message-ID: <20250817202323.308604-4-mbloch@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250817202323.308604-1-mbloch@nvidia.com> References: <20250817202323.308604-1-mbloch@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD78:EE_|LV3PR12MB9213:EE_ X-MS-Office365-Filtering-Correlation-Id: 6cd8cd39-ef74-4369-14d1-08ddddcbf747 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?fypewuRk2g1yCGeT5H4W2A96afQTODQckhxpN4o9YtDZJOMioe9IEz77kFa2?= =?us-ascii?Q?XJlxRCWK/FXNqn038dK0OSXHz3WdUq+h3PUbnk2P53GQmRLBmJfeGusxOhQ6?= =?us-ascii?Q?2oQs1oAiKNyGgXtwXF7It2HrbUIrnRUEwwUwFwcM3vPO0s3IY9vpzi6uXlaG?= =?us-ascii?Q?diln5/gKSQypTtnjQBm/vE/2V+tgDEs4LqAYNbOWf6ywbsf1e7yyFR+5O4yE?= =?us-ascii?Q?vPjxwOI8KVwzo/v8FSB5FeGCgrUtpzKLBkTAVTKeKxSqQeNbOXk/CbRqX/25?= =?us-ascii?Q?FnoRLiksL09K9jHQaRNqypCVaF3qHq9k0ukTQfrYyBPirRtorRJ0EbRzNt5T?= =?us-ascii?Q?3A6+0I/BTOkG/yrnldqytpTsuoqBjSZiNDRaRIfCenlV5vp4kVQA3UsDQEml?= =?us-ascii?Q?sp1JWqV6f07qlpwsg+1F5f7hbmkUbzt3+n3qRhZIaAauP2DxD5QxwY9yVS9q?= =?us-ascii?Q?UvYH4cQdeJJIa64F+9ZM/Od/bIimDe4jtKmAQlbKHrOi2/fRoCrgiBbglPk2?= =?us-ascii?Q?rNiFIuL0jwcPEn8JdI+pRg4Lg4340aZYxmIAT9GK2hVlrhJrzsQ7hJPUWjga?= =?us-ascii?Q?q6Eg2cXc8x2mtptu+mVRIotMHz5OhVN8qSQZG9/NlzMrW4K8gA/2JikP/oQi?= =?us-ascii?Q?vHO/CO8zTra98wbH8XwnKBiBIOF8+ee3d20CjOV314ekXthF5KnANh99ZyKt?= =?us-ascii?Q?806t5BA9yzVP03XfKwooY+wHkeMU1CPA8DXNaQdnX0Oz67PLK6GPd380g1Go?= =?us-ascii?Q?hYhRK99MJUI6S69Lmlp0THMyajVwX47yBeytj5psy8UyHORzECJzbxGPFBRx?= =?us-ascii?Q?1TxftGzxLdodJBuXoz1cfm88P5Ion8L3dvDbJQHQlKNe+VNLlzrhnj3yPzrz?= =?us-ascii?Q?tnlAsM2e8WYBB+v+DmEWK+aiBZiyWbTMCrN7Vqd4qnFk08ehnHsv2S5I0ifq?= =?us-ascii?Q?eLzaqay3bCL+B7KJ2xZX451eTuczuqXRZhUsc9y0LJlKi9tRvL6KTO01nkNR?= =?us-ascii?Q?cFNUtjnW9vN9HsRJv1VYNiejPeyDeUKvbg1b46XpihOZFDi/tVCUKqtT1omC?= =?us-ascii?Q?wb8FUI0ykFdMk4tHGXj0wCK9K03pa35HLNHzVEl7INwyFP1txqc1cip/Uq2b?= =?us-ascii?Q?m/GaCslaCm8GRNru/fiIZ85Xx7eQPY4m+qWnzG8AOD70Zz1xCH+lWarCq0nE?= =?us-ascii?Q?0zLkhHBDS/7jFN0J6SG4H2i/uFiBnMtufCzAqyOPaWyPEATD5WOpBroacS3X?= =?us-ascii?Q?5Dlt00IwpMJT/T0i3rLIErjDPgtZo6esGZbuK1RCwHHWTFr3jMlOhNnsmGTP?= =?us-ascii?Q?kR6MfGVkcGeUvORqWRsPQ09vDtwNHSHkUmdh7jbitXjUNg0AuTxAMFAQJ8WA?= =?us-ascii?Q?7bifNuvnlqMmiXwkUqRQCp31jk/rZ2dP7JWzlHVLBlW3jrzdgCjt5btJVaXx?= =?us-ascii?Q?7DeITCOSgrT6pCUBSofhwjKCoyk6Mo9reJ7slpdTIaobMsS8ZaDP6SRzfrLH?= =?us-ascii?Q?yWpNfYmPCUN3N8VJJ7dxm+ViKgCRv1Aeaxz6?= X-Forefront-Antispam-Report: CIP:216.228.118.232;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge1.nvidia.com;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700013)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2025 20:23:45.1710 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6cd8cd39-ef74-4369-14d1-08ddddcbf747 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.232];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000AD78.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9213 Content-Type: text/plain; charset="utf-8" From: Yevgeny Kliteynik Moving rules from matcher to matcher should not fail. However, if it does fail due to various reasons, the error flow should allow the kernel to continue functioning (albeit with broken steering rules) instead of going into series of soft lock-ups or some other problematic behaviour. Similar to the simple rules, complex rules rehash logic suffers from the same problems. This patch fixes the error flow for moving complex rules: - If new rule creation fails before it was even enqeued, do not poll for completion - If TIMEOUT happened while moving the rule, no point trying to poll for completions for other rules. Something is broken, completion won't come, just abort the rehash sequence. - If some other completion with error received, don't give up. Continue handling rest of the rules to minimize the damage. - Make sure that the first error code that was received will be actually returned to the caller instead of replacing it with the generic error code. All the aforementioned issues stem from the same bad error flow, so no point fixing them one by one and leaving partially broken code - fixing them in one patch. Fixes: 17e0accac577 ("net/mlx5: HWS, support complex matchers") Signed-off-by: Yevgeny Kliteynik Reviewed-by: Vlad Dogaru Signed-off-by: Mark Bloch --- .../mlx5/core/steering/hws/bwc_complex.c | 41 +++++++++++++------ 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc_compl= ex.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc_complex.c index ca7501c57468..14e79579c719 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc_complex.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc_complex.c @@ -1328,11 +1328,11 @@ mlx5hws_bwc_matcher_move_all_complex(struct mlx5hws= _bwc_matcher *bwc_matcher) { struct mlx5hws_context *ctx =3D bwc_matcher->matcher->tbl->ctx; struct mlx5hws_matcher *matcher =3D bwc_matcher->matcher; - bool move_error =3D false, poll_error =3D false; u16 bwc_queues =3D mlx5hws_bwc_queues(ctx); struct mlx5hws_bwc_rule *tmp_bwc_rule; struct mlx5hws_rule_attr rule_attr; struct mlx5hws_table *isolated_tbl; + int move_error =3D 0, poll_error =3D 0; struct mlx5hws_rule *tmp_rule; struct list_head *rules_list; u32 expected_completions =3D 1; @@ -1391,11 +1391,15 @@ mlx5hws_bwc_matcher_move_all_complex(struct mlx5hws= _bwc_matcher *bwc_matcher) ret =3D mlx5hws_matcher_resize_rule_move(matcher, tmp_rule, &rule_attr); - if (unlikely(ret && !move_error)) { - mlx5hws_err(ctx, - "Moving complex BWC rule failed (%d), attempting to move rest of = the rules\n", - ret); - move_error =3D true; + if (unlikely(ret)) { + if (!move_error) { + mlx5hws_err(ctx, + "Moving complex BWC rule: move failed (%d), attempting to move r= est of the rules\n", + ret); + move_error =3D ret; + } + /* Rule wasn't queued, no need to poll */ + continue; } =20 expected_completions =3D 1; @@ -1403,11 +1407,19 @@ mlx5hws_bwc_matcher_move_all_complex(struct mlx5hws= _bwc_matcher *bwc_matcher) rule_attr.queue_id, &expected_completions, true); - if (unlikely(ret && !poll_error)) { - mlx5hws_err(ctx, - "Moving complex BWC rule: poll failed (%d), attempting to move re= st of the rules\n", - ret); - poll_error =3D true; + if (unlikely(ret)) { + if (ret =3D=3D -ETIMEDOUT) { + mlx5hws_err(ctx, + "Moving complex BWC rule: timeout polling for completions (%d), = aborting rehash\n", + ret); + return ret; + } + if (!poll_error) { + mlx5hws_err(ctx, + "Moving complex BWC rule: polling for completions failed (%d), a= ttempting to move rest of the rules\n", + ret); + poll_error =3D ret; + } } =20 /* Done moving the rule to the new matcher, @@ -1422,8 +1434,11 @@ mlx5hws_bwc_matcher_move_all_complex(struct mlx5hws_= bwc_matcher *bwc_matcher) } } =20 - if (move_error || poll_error) - ret =3D -EINVAL; + /* Return the first error that happened */ + if (unlikely(move_error)) + return move_error; + if (unlikely(poll_error)) + return poll_error; =20 return ret; } --=20 2.34.1 From nobody Sat Oct 4 11:11:59 2025 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2083.outbound.protection.outlook.com [40.107.223.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1500221CC79; Sun, 17 Aug 2025 20:23:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.83 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755462237; cv=fail; b=nFlvoVLj2juUGnaCGTgijW/v52MdmanHAF+xAMjlAa/LrHjOyP+Pti4ofjZcrGzn94Sh6B+Zg66Du863s3nJAJnZDUoPnq6e/2j7jHKyfe2+Hv4b6RAhJd6uK5pG3gmnlaFX5d+8X4764vXcISCyO+GmQxVNfuSjorUKsI98d4o= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755462237; c=relaxed/simple; bh=LWsGyPmKtON/nEjUt5u/Fut8nBcv8GO4eYLN3y503TI=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=VpZyDJ1Jdb5vDiEYkPle7veJJ8Kar2faC2HfSIMrJKXwT9vVKZjNoke5opI/Ysyfn+gJlS8BEqRGyPlOnj7J+0G5wqq8MVE4Q+SlcCVllPRyQe7M67JFIgqBX0PHmKUGgKnwslHUkIN2qc+TPnPGmmG3zUseASqQ5NS6WITS+1c= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=ltBUyRXO; arc=fail smtp.client-ip=40.107.223.83 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="ltBUyRXO" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pbpyHj6J5POuN8m95d60xxJNTRxZAXDnoLvnHNHezGpQTIBk0IrcJluGyU+d6VjWmUCknm6CKMPe3VInG9+zzZtBnPj9Nz82hK8tdwIvBPRrlSxvd2/zduY37H6O3zQ+jQCQyknPS0+Df55u9qW0/DerM43zI1+9aXsK0cLOpM3QFOKoAnMzrIZQToUIRH3lJdku7ZmRx0vbxzeiJDvOi+ZV5oN9qjWK9Uy00FJVqgbxwaBABvKxz6DtXw78bkq9IVEW9d4evqSKmuylZhPbOh0utOApLI6/xbJmLhgMvgWfgqcFtQFkA8DZI7Az88/uIfQX6gYNPwvEsdoI8NnbNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=Ltfn3BWqfFviv99KTCYbzrGLPGImrx59VT6j8XSaxno=; b=rtcBn0sTW6q/dkE+ReBUuI0dJ79rTAV8TOys/rBZv9XGAu7rsg59Xljh7eGD3MVZEE/7nIdhQ0YXVtjgprpwftLKlAVsfawH62JRvIZ7v8s8DC/cfRkWWs8V9VriuDuias3WRiz5dwmi7sXIhlpzXNY1FVq1BoxeNv2lI0zJtWluA1d7cnSR+n79RXGuq55T1u6sfAPlkLnJNNWXB9sEzqZNr0KAC0cwpooEDqzW5v10EfJlwjfwvZBx/9QahEp+gLCa33ajFzsVNOZefYQm8eickKFo7fw4EtMPQHbAopDoYx5yf1WAFqudLVLB0nJss/Su7gOLUutyZI6SCYZ/lg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.233) smtp.rcpttodomain=google.com 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=Ltfn3BWqfFviv99KTCYbzrGLPGImrx59VT6j8XSaxno=; b=ltBUyRXOQEWApastQTL7TEX9HN3AToQlhFOj3YNcST2Y3iVpG/jwVvc/izoknQ+jSGUtt1sKMOUtXjRKt3vyOdnFvAWqHk+CWT6y3bBWRWJN4iGrv1yxk2sibFFSn7BkBpLEFNaBZOjoFivN8lR/fU2oxqQzU2SMk8t2rPFBuR/8PI+kr8Sx3twc2yZpLrpl/0MynyRSIsF0f/5Ekt8/emQsHX0kk4Do7bhCn0nEHsZyYTV8wxkZ2QEpOQZc8hbY1bIDsx1kOYEuev2BBppYOelHdEQBNdGYDPfitzO8UKwTVPPrPYgPtfHKHjn8OyqVFF7DSHQzFu/t0bvEbdjfbA== Received: from MN2PR19CA0053.namprd19.prod.outlook.com (2603:10b6:208:19b::30) by SA3PR12MB9107.namprd12.prod.outlook.com (2603:10b6:806:381::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.24; Sun, 17 Aug 2025 20:23:51 +0000 Received: from BL6PEPF0001AB77.namprd02.prod.outlook.com (2603:10b6:208:19b:cafe::98) by MN2PR19CA0053.outlook.office365.com (2603:10b6:208:19b::30) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.30 via Frontend Transport; Sun, 17 Aug 2025 20:23:50 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.233) 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.118.233 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.233; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.233) by BL6PEPF0001AB77.mail.protection.outlook.com (10.167.242.170) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.8 via Frontend Transport; Sun, 17 Aug 2025 20:23:50 +0000 Received: from drhqmail202.nvidia.com (10.126.190.181) by mail.nvidia.com (10.127.129.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 17 Aug 2025 13:23:49 -0700 Received: from drhqmail202.nvidia.com (10.126.190.181) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 17 Aug 2025 13:23:48 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.126.190.181) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Sun, 17 Aug 2025 13:23:45 -0700 From: Mark Bloch To: Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , "David S. Miller" CC: Tariq Toukan , Leon Romanovsky , "Saeed Mahameed" , , , , Gal Pressman , Yevgeny Kliteynik , Vlad Dogaru , Mark Bloch Subject: [PATCH net 4/7] net/mlx5: HWS, prevent rehash from filling up the queues Date: Sun, 17 Aug 2025 23:23:20 +0300 Message-ID: <20250817202323.308604-5-mbloch@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250817202323.308604-1-mbloch@nvidia.com> References: <20250817202323.308604-1-mbloch@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB77:EE_|SA3PR12MB9107:EE_ X-MS-Office365-Filtering-Correlation-Id: 69b52b03-f379-4cf2-d57f-08ddddcbfa8c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?8iT+qY7znXiwR2Sg0uNViRqXEq8OBO7p7r39Kq/V3AJuwjQhFCUKvfQwc7u2?= =?us-ascii?Q?NxSa4KX8HhOqnz+9gych9y9fAs97bNWuLbM6osXy3rQVLNJVPlz4xERmiu4m?= =?us-ascii?Q?HQNpkQkdzr3qkRLUJ+jnp4LqMhgyadaBVI8T8YpKfj+azaZkiWQEQ3SNo8Yr?= =?us-ascii?Q?Ik44pxpcU/2voRCIhcQZfUNzvEuQTDaTi+121YYHOBeC0EpafQG2mTLhSRcS?= =?us-ascii?Q?O9zFmf1mKVcgCyXban2yObNphGyJik2Dm6uizx3mLrUrGq8A4TTJnz8ISNej?= =?us-ascii?Q?bNWdgfiFUa85zNdXNw9MUgCicV3TuKYfTGFo0vlPsLZJSmBXr6tFPG/W7owO?= =?us-ascii?Q?YJtG/D1smZsgtvMe9xel5aIo+jaaSt7oz7Qpt1HGaRWbfL303lDWRJo3id56?= =?us-ascii?Q?ptwTTAtBAXLvPbs0aktfqR6XKc/Sw8AalwNp/GZ0eqw8zSETEaQKt3laxVnN?= =?us-ascii?Q?qgG64UAAGoudZ8EnGeH3PnsCZO5YPw6wPBNHxbdDoi+G4jeQvx51/qGzjIYr?= =?us-ascii?Q?WJazbZ6NrTQfEqk+4XzPwFNCIiemT/HBXLON7OIaN8SBjgXejK5xF5kS0uXz?= =?us-ascii?Q?4dr6rVy7w+2oVBtAE8ldH/zjto5sxnkcXlSORfYiQX4NuJW1kyeiokLbMHgf?= =?us-ascii?Q?mfB/d7tk4X+FJtviSCmq3NSP79D6oQoqMqklvMFi5v86PlOZZALGbEZdQl9b?= =?us-ascii?Q?DaE2DfCtOFESYfmQIZTHeKkzjOjQJCLVnrsVhHfffEIQqGVAzoJoFnqLh8zt?= =?us-ascii?Q?+D5Fjkhy0XLpThQIbf9JeBI1X0nNlPGaoUx1bYLaKXRIpQsflOEV5TC3OIUa?= =?us-ascii?Q?i00xz/CG2+52nH8E7gPCBgvXBIT0KMsRvFOzFdWP4hr3j+UfDm1QjNcYhGtz?= =?us-ascii?Q?xSBVRZiYsKdGLyzXMedlBHCamgQzeDJuIA29OsrMg1AB2ENJda/MrnLqyyRN?= =?us-ascii?Q?wHFDpmOeFWERPeuPlB50Qvvf6Wlz3jnbVB599JhvHxckbr6d0pro+i8r+bq7?= =?us-ascii?Q?Mv4KQNQnDzdvwphJUdawCYwYAhqM/QeEUtj+OrjIzko2A4ecbAh7TG2UN6qV?= =?us-ascii?Q?sKQMLeCZWSxWc5+TTMtV55WXKeiApt252xPBk22DssZhCV397X/QRW8qZPll?= =?us-ascii?Q?eg09RpTmZ5keGT7mJDt8gjLLPEZ7KiIF7Z190+UAn8kQ3cD9m0RkRKSpvCa9?= =?us-ascii?Q?hRv4/bIf4GpIjHYrbw39HeF2BtIAMeNzNXZYYiO9uyYa2XB7oINkKHoO1DZT?= =?us-ascii?Q?OMxIYmb3J1hVWfnBzzZZboWe5d/ErLqmCDvOF0bsUR679z+fNg0LTH1VGMt2?= =?us-ascii?Q?7jKaRUDMg1QkLTljYKpllKZbIbsvn02kXRrKH3RH6cQCCY0+Z+88kdBluyyQ?= =?us-ascii?Q?6q7pX6g2ICi19nZZSzy2DEBxZzYE2fg/mV1VJJv+qQwrJIQ4u+QD1eGh6u4Z?= =?us-ascii?Q?+FSBZiqRtysEPF6ykOGzlksfx32lSkMnaJ5ftto3h/Xl3OcezKMOYztMupX0?= =?us-ascii?Q?Zy3Nah2QTQTFZ6bmF0wad3e2aHVI9pTTYuJY?= X-Forefront-Antispam-Report: CIP:216.228.118.233;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge2.nvidia.com;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2025 20:23:50.6269 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 69b52b03-f379-4cf2-d57f-08ddddcbfa8c X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.233];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF0001AB77.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB9107 Content-Type: text/plain; charset="utf-8" From: Yevgeny Kliteynik While moving the rules during rehash, CQ is not drained. The flush and drain happens only when all the rules of a certain queue have been moved. This behaviour can lead to accumulating large quantity of rules that haven't got their completion yet, and eventually will fill up the queue and will cause the rehash to fail. Fix this problem by requiring drain once the number of outstanding completions reaches a certain threshold. Fixes: ef94799a8741 ("net/mlx5: HWS, rework rehash loop") Signed-off-by: Yevgeny Kliteynik Reviewed-by: Vlad Dogaru Signed-off-by: Mark Bloch --- drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c b/d= rivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c index 0219a49b2326..2a59be11fe55 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c @@ -84,6 +84,7 @@ hws_bwc_matcher_move_all_simple(struct mlx5hws_bwc_matche= r *bwc_matcher) struct list_head *rules_list; u32 pending_rules; int i, ret =3D 0; + bool drain; =20 mlx5hws_bwc_rule_fill_attr(bwc_matcher, 0, 0, &rule_attr); =20 @@ -111,10 +112,12 @@ hws_bwc_matcher_move_all_simple(struct mlx5hws_bwc_ma= tcher *bwc_matcher) } =20 pending_rules++; + drain =3D pending_rules >=3D + hws_bwc_get_burst_th(ctx, rule_attr.queue_id); ret =3D mlx5hws_bwc_queue_poll(ctx, rule_attr.queue_id, &pending_rules, - false); + drain); if (unlikely(ret)) { if (ret =3D=3D -ETIMEDOUT) { mlx5hws_err(ctx, --=20 2.34.1 From nobody Sat Oct 4 11:11:59 2025 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2040.outbound.protection.outlook.com [40.107.220.40]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E786B246BB2; Sun, 17 Aug 2025 20:24:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.40 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755462242; cv=fail; b=Kxvnko/NXMJETiPjB0sCVo4MFgG54MDfKjE+c7d5cQpyVk6rS8VPQOD6rG5RF9XAj5X2xjZmAbOOL8gnqWjm04vHa+OkXBbgbeM6zPdX8yBzccaFH9EU4vCvKwREBU7/IFgGuVENIcfxOSqF7BjhtZkHrvr5R1Md1zFW1UWC0bU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755462242; c=relaxed/simple; bh=H0ndwvCuplFCdjpCrEUgKkYCmczwREKDMlGA1QGSZBk=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=VaPMbJGov1mkpflaijEHxfzhpdo6IWSuu9e86m2koqPOj5Jh+o2lBIPgOmuCbBmTvPeCaoXFQbl6+BDzJaBOwfNfo5KMHOnu/+8/BFnY4Id0QrynshzE/LJYe3IeFlUzuZMJjuus4VlhbuR1dJy7wwG95VY8JuB6Kxqi6PJDPSU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=OZEjddkx; arc=fail smtp.client-ip=40.107.220.40 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="OZEjddkx" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MYCAiMWt2MvOfjp7iziKJr09WciFxTupczvwC5RQYvHiQPqVWHLRxz38ynRkfSC8YPrOytYRtgbeoVRt5TT19MpEI0ytAnNW1Qih18wP8heUsf2uut3RbRE7B8RQdwI4XPzsIg50qF+gTTCPlRtg1ZbhTft8NML5czc9WHfELqZeVyql8to0d6yxycavRW0nFbQQ4adXgtArDaL9K9JmrE1+UFx4JagpwcSIq5NosgaE/fDqZ/H0vmH1+7PnAgou3k+Y4/tyiAmHzK3/c84XDNvbQICf2V96d7qdALCqjxJtDutwA1Qo9pq7aZHp+X8QX8r8N48Qt4CPJYz/xr3Y7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=BB3HVhxekA6So6LDXjUc/5a0sxmRXxst+l4irD7tcos=; b=K8qAQojRHR5AZ40MZOjEdJtyCCvEIr+o5SOZdtHvPH9qLxzfDp6fmFIXAS/mQVK8URqgDgjmlEPOoz0Fte/Nfdwv/TFKN3EG+i8p8If7qfRWfhSUDZNUi4jFziOd2UacRLL1VLxuQyWLaBrKrxP+O+EasYqn6XxS/03cbUcYswsy/R5/fu9oXSrTtLMqlnL+XwAUYSlqBxyAb2O2E9O7DH0ueAiSLCC+6CmaaDtKx4+b9FJ0EWa7n29UZu4ZK/VjR/ZlOe7htmHjrZI6UC+/HhjY9LYuEMyThJU+gjK3IeoGF6513kjwzx50OelCi/pS8FQhFjBRbvVVnSwgu8y3wg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) smtp.rcpttodomain=google.com 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=BB3HVhxekA6So6LDXjUc/5a0sxmRXxst+l4irD7tcos=; b=OZEjddkxzsfp/y2JYLVK2Ce+9OJyUY+j+HKT4NL7yPwKI5FxJh1EZ9yiRJnBLzKpCqusT4KjBMFcPLslE+IfAMS8xvinvr6wwzQenQ23ods4SFxXqIeljBjpTuuy0R2j4RtZsKhIjnnbWh8RlvfaKMs9K6LTy3lKMgYNnI+/Up8kF5V0Lr5Ay3iyCCsQ9SwSL7lq/gsJIvVRfE0LBfttBCnDx+XbpLFnfRn7atGTJtvtfRkeFzolmlr8uOaW+5EHlrdN7KWli5NG+c1JUnmJhxlvUIR7XDuXpZ7O9WL+LBIflgsc7H20wrSwD7xplETZFWSsQF8OgzX7sPmIU+fkMw== Received: from CH0PR03CA0449.namprd03.prod.outlook.com (2603:10b6:610:10e::25) by BN7PPF915F74166.namprd12.prod.outlook.com (2603:10b6:40f:fc02::6d9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.21; Sun, 17 Aug 2025 20:23:56 +0000 Received: from CH1PEPF0000AD7B.namprd04.prod.outlook.com (2603:10b6:610:10e:cafe::97) by CH0PR03CA0449.outlook.office365.com (2603:10b6:610:10e::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9031.19 via Frontend Transport; Sun, 17 Aug 2025 20:23:56 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) 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.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by CH1PEPF0000AD7B.mail.protection.outlook.com (10.167.244.58) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.8 via Frontend Transport; Sun, 17 Aug 2025 20:23:56 +0000 Received: from drhqmail202.nvidia.com (10.126.190.181) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 17 Aug 2025 13:23:53 -0700 Received: from drhqmail202.nvidia.com (10.126.190.181) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 17 Aug 2025 13:23:53 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.126.190.181) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Sun, 17 Aug 2025 13:23:49 -0700 From: Mark Bloch To: Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , "David S. Miller" CC: Tariq Toukan , Leon Romanovsky , "Saeed Mahameed" , , , , Gal Pressman , Yevgeny Kliteynik , Vlad Dogaru , Mark Bloch , Erez Shitrit Subject: [PATCH net 5/7] net/mlx5: HWS, don't rehash on every kind of insertion failure Date: Sun, 17 Aug 2025 23:23:21 +0300 Message-ID: <20250817202323.308604-6-mbloch@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250817202323.308604-1-mbloch@nvidia.com> References: <20250817202323.308604-1-mbloch@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD7B:EE_|BN7PPF915F74166:EE_ X-MS-Office365-Filtering-Correlation-Id: 49780a51-1a27-4555-70c2-08ddddcbfe0a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|82310400026|36860700013|30052699003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?nvLQESqafQlP1GyM02Loi59nbktec8ZuifaGKx0wyJgAbmjv0NnT181FlzwF?= =?us-ascii?Q?B6zXNVDES13gU/wQ99+QmOnUDi5Fxa1G/1PeXWb3vS8uOgR6sHTpdcylfKk0?= =?us-ascii?Q?8nHMTKNyPqRJnwVtghBI+q0oP7rGJN6Clgb/HbqbwdpNH6oIx3IEc4Ec6OJY?= =?us-ascii?Q?FMc3nXc4Y0aDQA4CjOsj4ctc8lscJsqDKtpKEAaKdFxv5FeLBD2EGLEcdJhg?= =?us-ascii?Q?+SPFghH6RDDRyd43JqvsBH1UGnsDADLPfWq/rwU02MnN7CPX4M5zXcNU6c6H?= =?us-ascii?Q?sn/nGvCOBk00jZHXP9Xs2X/CiYjfb3uwHbv5b+Gz4KDuolWeneYtrmT5MaHg?= =?us-ascii?Q?DlV0xdsJYUQVZHiSbcxpRkF/AFQLwSSDnyK1GgboWHmBMBR9TCGqMp29CnO3?= =?us-ascii?Q?2RswE7QBcOmh7c8HAjb+iwEDZOUVTMSTtah9/LhBg2K4C3+Kz6bPndniIaMG?= =?us-ascii?Q?vI40UgNRPLfjbpKHFwAdJTI2/t4MYdgMD/qLEpxllhQ5Z2YVklOJhgFbMJ4H?= =?us-ascii?Q?jvpeoUH3y1UDMZQYVMetBVBbJLTjZGyCLrQSAby27+Kxrv/0zeHVBzjbQa3T?= =?us-ascii?Q?2tSrnb8A1/6ObtVjoVQKsA9x1ArNHuRoaMun8q5Ci1ogqMeBuoftqPfjuePH?= =?us-ascii?Q?NQMLCNkvOnrmq3+NOGNdYSDJdje72V5n9kQXOPaUcSPRUrEAHRPhBPgNl+Xn?= =?us-ascii?Q?GhovHonr5SZJBEBqD4b1GA86cqcB/0HX3v9Ni8qJbUUQhH1E5qs7p3iAq1my?= =?us-ascii?Q?He5qYgUpCyzBz4EUgIx/OXsij+hrM8ikQsJW+SBioZWA2bTjxBeIqkQl5v3/?= =?us-ascii?Q?7bnG3egvJE/0HaWJTgeWAQWOEJ90NPi7nNtbAXfUbBVzpNRxwooac6KvRzls?= =?us-ascii?Q?Bu6RXtmGw1sM6BAu/HLWbvxcB7z3x+zjcK36l+AVSOHURJ6AbLZTdzqH4tMW?= =?us-ascii?Q?x+j0GzDje3X3WZB2d5B3CQ3fpP5MdGxNh1n+Ed143+Byhk7kxEWSnAde/FOm?= =?us-ascii?Q?4pJh4WfxVQe5umTXU9zLmp44dFQVH89wmP9NPHUwJJ7K4TAiBg1mCi8/B5+E?= =?us-ascii?Q?Q7zMh62ACPCpKlVMv52wFzkgaUgHLC3L1QVugnS9gIys0In37MJSOhkWuQJn?= =?us-ascii?Q?BMkUk/e2R9xxJxbUJUajKdVKjv0cJj9AF3yUGLoL3MX7OaOIoBOaVJc6rZda?= =?us-ascii?Q?a03Lj+HHVr1mhiK4x3Cu2a05+Ju9XKEyfnZxMzapcMB4aC8NleA+VfV4QGHc?= =?us-ascii?Q?n2eVCuMpplqXmdcnFVOOmWh4gzQdyUh3IXhcTuqZDrQcebo7KmRMOi7eVb2g?= =?us-ascii?Q?QUh8dAnSqCfWaKiFpyODNNlqz6c+t8yEG1CO4QbZDWhcyZ8WJeQYvJ4G+rsa?= =?us-ascii?Q?khmaG1IiyCTY04NMc5yx7BhQfyK10baSckk4gTRqch0iuyrawnc3kvO3dDbG?= =?us-ascii?Q?0AcP2u2I5ICetEqvAtMsMqjwM/Ok669kMEv1eJn2YWIyKLk5waVPkmTP0cib?= =?us-ascii?Q?XAxJiOur5jy/OMnVe8nfGNu2f4zwBqpU+ih4?= X-Forefront-Antispam-Report: CIP:216.228.118.232;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge1.nvidia.com;CAT:NONE;SFS:(13230040)(376014)(1800799024)(82310400026)(36860700013)(30052699003);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2025 20:23:56.5301 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 49780a51-1a27-4555-70c2-08ddddcbfe0a X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.232];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000AD7B.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PPF915F74166 Content-Type: text/plain; charset="utf-8" From: Yevgeny Kliteynik If rule creation failed due to a full queue, due to timeout in polling for completion, or due to matcher being in resize, don't try to initiate rehash sequence - rehash would have failed anyway. Fixes: 2111bb970c78 ("net/mlx5: HWS, added backward-compatible API handling= ") Signed-off-by: Yevgeny Kliteynik Reviewed-by: Vlad Dogaru Signed-off-by: Mark Bloch --- .../mellanox/mlx5/core/steering/hws/bwc.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c b/d= rivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c index 2a59be11fe55..adeccc588e5d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c @@ -1063,6 +1063,21 @@ int mlx5hws_bwc_rule_create_simple(struct mlx5hws_bw= c_rule *bwc_rule, return 0; /* rule inserted successfully */ } =20 + /* Rule insertion could fail due to queue being full, timeout, or + * matcher in resize. In such cases, no point in trying to rehash. + */ + if (ret =3D=3D -EBUSY || ret =3D=3D -ETIMEDOUT || ret =3D=3D -EAGAIN) { + mutex_unlock(queue_lock); + mlx5hws_err(ctx, + "BWC rule insertion failed - %s (%d)\n", + ret =3D=3D -EBUSY ? "queue is full" : + ret =3D=3D -ETIMEDOUT ? "timeout" : + ret =3D=3D -EAGAIN ? "matcher in resize" : "N/A", + ret); + hws_bwc_rule_cnt_dec(bwc_rule); + return ret; + } + /* At this point the rule wasn't added. * It could be because there was collision, or some other problem. * Try rehash by size and insert rule again - last chance. --=20 2.34.1 From nobody Sat Oct 4 11:11:59 2025 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2077.outbound.protection.outlook.com [40.107.100.77]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D760121CA03; Sun, 17 Aug 2025 20:24:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.100.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755462249; cv=fail; b=gw5t7djWNB4QnkaHWNvUXsj5GzgLcUfVxhleZ4ZhH1gF2afGryqQJoZqS68ySv2LPRuHiNWPI8zi9cZ9kqBBsvk8WX3N89cUf7Bv9DIMqXgqF8KLaaofN0vXY6a8jOCFrisMsHrntJCnzq7qCQgfdb2ZKiPzAQkO+6+5kf1m26A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755462249; c=relaxed/simple; bh=UsQ3VbiLKNcvsQ0i0T2MmYS9DYktSkx17PLk3xdKn3Q=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=b6nKP0XUx/aOWCwBw/wjDhykPR6RXNCxBFqTLUiM2kTrwmXBydbDpxuWJdgrNZ4FYbaDfzkWfBbmJ8T5zfvrtoRp+Xu/aytrrTyqSHB2Ek19l4WqvUVm5zAIfCnu2ztBZH963x4LVdAKN3dojz3tVe7O+SZvw6N2BNxmVq9go/E= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=Gp9VwxnK; arc=fail smtp.client-ip=40.107.100.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="Gp9VwxnK" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WdhFVBTS87nR4rUhHTg7SAGsyh/YXu9uYXhNWOxRQ4W63tuNT4YumvklRcid0o0N3IILi12XKfphDG5TMJyLMWsZwQnE/WBoy4YoS+eZjapwxV+nkFeVOB625GiHkOn4sVVjMBtb0Ywawu6clthlBRrk8QXpI+Txvv2hrNW9HbNVu9oRmy6PrP4jDCWyGNa0q15ZVHm88ymYqj/wnaL1e85Rx2z4jsoulbnYAuNK9Cgrc1fZkrZvhlnJPucwsT/Efyojf4SdroIzEBH0UisGNFnKy7LpD92RRv3ZUB4bZpS8UKw35L6j7Lgi+2q4sTQMwq3ZjCVpDHOUmspd4iTnSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=R/JzRVciFpkE7IHm+XzL7tsdhSTvJEUgzB/kqj2EDqY=; b=HvDSTKT7SyjGqhZV4gV8C0UpBAiecHw1W6mOQJ0faCeI9GhPbfBvRaYOu7oaqZy1gyg9EV3GuVGk5DnPanjQHTSHQKFehgEFVS7Jn6yIc0f9IOIkp8FNqkHOZ6Z3FeQQeTp85dL+SCiCMlo4UEMHhgVAjBGDIV4BwS4DT/vCUxTbUHt34l5A4zxOYxUrffajGbNw6l4T3sCpIC5oxj0Xld6+ifthRN6AVVJDlESQs1OeXxsnkoeQHdutX8Fu/jT+3uqfJvMjLExW9RwQ6GA6YzPrTF6BnLR/gpIIpW26dbcomUh02z2obYtbx+z4s2bGxt6uvQYe5o9Nl6BkB2nTJQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) smtp.rcpttodomain=google.com 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=R/JzRVciFpkE7IHm+XzL7tsdhSTvJEUgzB/kqj2EDqY=; b=Gp9VwxnKjWTwAY37ecVj5JgxmfPN4lCwcgvMT+KUgrE2CP8cVhft/woM1Idymwtmb+I6fDR/b9HnSqPoBW43xfDm03U3mUISvDX6H7dHbdzbCJZ6n8n6SWMHd7EtHF4JnfY/fS+uAGcKi/sGWaCERe5oshz1+QF/OHYyziRnVSCwoiP7gS31cZdFX42iNrqg3AapjHnGdGZJ5YRtpRJm4hKGfI5W5a7FoaNT/Eyuhrsk2VYutalxxNNkJqaBiGCfclX46p5v00wIcP2NmzjVUrBEwMwBWuLctGzjuipQLD2ZHduLHSn8WmtPMTmTi6ihkloxmXbiDYborz/6dvDiKw== Received: from CH0PR03CA0428.namprd03.prod.outlook.com (2603:10b6:610:10e::23) by DM6PR12MB4106.namprd12.prod.outlook.com (2603:10b6:5:221::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.23; Sun, 17 Aug 2025 20:24:03 +0000 Received: from CH1PEPF0000AD7B.namprd04.prod.outlook.com (2603:10b6:610:10e:cafe::60) by CH0PR03CA0428.outlook.office365.com (2603:10b6:610:10e::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9031.19 via Frontend Transport; Sun, 17 Aug 2025 20:24:02 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) 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.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by CH1PEPF0000AD7B.mail.protection.outlook.com (10.167.244.58) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.8 via Frontend Transport; Sun, 17 Aug 2025 20:24:02 +0000 Received: from drhqmail202.nvidia.com (10.126.190.181) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 17 Aug 2025 13:23:59 -0700 Received: from drhqmail202.nvidia.com (10.126.190.181) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 17 Aug 2025 13:23:59 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.126.190.181) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Sun, 17 Aug 2025 13:23:55 -0700 From: Mark Bloch To: Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , "David S. Miller" CC: Tariq Toukan , Leon Romanovsky , "Saeed Mahameed" , , , , Gal Pressman , Alex Vesker , Yevgeny Kliteynik , Mark Bloch , Hamdan Agbariya Subject: [PATCH net 6/7] net/mlx5: HWS, Fix table creation UID Date: Sun, 17 Aug 2025 23:23:22 +0300 Message-ID: <20250817202323.308604-7-mbloch@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250817202323.308604-1-mbloch@nvidia.com> References: <20250817202323.308604-1-mbloch@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD7B:EE_|DM6PR12MB4106:EE_ X-MS-Office365-Filtering-Correlation-Id: f22d802f-fd0f-4b23-776b-08ddddcc01c0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?iT9pqA0Qq4VFL6FsLOGed92Xr6pH8IJqnLB4tXJb4kyvT6sbyeP16bTd9Qu3?= =?us-ascii?Q?w0PZluVdIHFR1uf54dB/8FWgjgK9m1XkOZMeGN11YXJjpumZa0B87M1q2Yp7?= =?us-ascii?Q?8Hyf/rvWy5ukaHjMHkR8L9w1rn646fwuvThfLGX3uB5aLuSLewKDut+pvdpT?= =?us-ascii?Q?CQ++PyZYzs/iClN86uWH0Y3uAsGX0JBmT+m0rEO/z9si5MStosyitxbyBdQe?= =?us-ascii?Q?iBzBHBwoISnRf1A+JHnbhP4PGA9Yy5TvJ/FP+kmSLCMNgWdopQrEtvyEshF5?= =?us-ascii?Q?fZ343cKF/+xYewCkc8LuP5h/u9D82mSCzJGQOL8Zkh37R2IQq1F+yCeS+AUq?= =?us-ascii?Q?q1J50XU43rlm+WaOtjL+whM/Mh/wF1wYR5GAdsdGtYX5yT/tZSdkbT4s/ivu?= =?us-ascii?Q?+abEEbJOdxH8YCUP8YMFZKiiPK+8lL3q+JH9M1SYBhg+QIDPzeZWU59AGqbw?= =?us-ascii?Q?EQUZJ2NYajNKCi+0Dzms2v7aHiaPc+ip2XeRRc8c4uYAr9QCkepdBOI9IteZ?= =?us-ascii?Q?XfnAFxiaS4h2eQIFa0vC11IYL+Cn83EHiFSfiY7vuW2K41ll6qFju7NZCiPP?= =?us-ascii?Q?UFteeyUI0ce+R8eWYughYNrMtQAv4N2jTrARzPj/GKrc/xu+VrhqTO+AXdlB?= =?us-ascii?Q?BTHHFTGRXrcCtG7gdpH6DFeisxqTO6ZV8r73lfh6D4DmKxDItVJwGs6PR2TV?= =?us-ascii?Q?fLSYmil2toaPYwVfgQcB2TB7jRjDXzI8OeVACGipf0GAcugcX08BJdWlv59J?= =?us-ascii?Q?mcutvBynSMpnmZylNExeY0chi6RFdc0KQ/ql4PvBRYlSXV2D4Hvs4bieZLR+?= =?us-ascii?Q?RU258MZJYUCXNjZYnMoXIht867DCmX9z0ohAyrXDYCAKcQJ8xNzb9pFixNV5?= =?us-ascii?Q?H94/a/6m4JHjem0Gdo++U/j8SLOfOgcY99MM9MMvWrotNNgpIV9AGkep8dXg?= =?us-ascii?Q?KqiNC6jYTCvf62ac3E10schrj4lVDX767ph+8END/JSSOZrkyorSXWL9Qn8D?= =?us-ascii?Q?2wnbDKAN7fZ18AP2EHKkS13Plhe1zeZeecT4UlKw69QR8jHjVdJOTGEhbZwd?= =?us-ascii?Q?5iuRG+kkWQNmHvgcN/YF6//dJ7sIvgoJnh4I/1bqvdZKLS3aXVsj0I1f+may?= =?us-ascii?Q?vYfB+LhTRXH7jICkT6TBTkQsEEzs9D+MWHxyZBQMPmELQn8+qvOiPUAjuxzo?= =?us-ascii?Q?PWDMFn1ZdcEGmQxYPdz8sBN7Jgp9v3gh4TutrGSUjhbPA7apES8D6xUa33yl?= =?us-ascii?Q?SxoJg/SDvLU7cNbZuY7YN+ZM+tpToeeSMpnkMFeV+CT7Z4oJ8JBFT6ox2l8l?= =?us-ascii?Q?waVBLGwdHNvKsuIciOqVMi8kg/ZQjuhoJgSxx0cdbitIm37NWuppkN9P78kC?= =?us-ascii?Q?PAlgDDTWsYOrDf9345UbdYjHpAqxNFPnXn52DGAmyZThYyrqoWTIZB4kyfFs?= =?us-ascii?Q?PW/iE/+2HzC2rM8Vv89Ew5EHqnPJknIOzkTijhekDknPG6nLMQhgCTxi5Z/4?= =?us-ascii?Q?eaIaCaItUVDFUowwY9Ra8jm+cJOUYnsexJcz?= X-Forefront-Antispam-Report: CIP:216.228.118.232;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge1.nvidia.com;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2025 20:24:02.7409 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f22d802f-fd0f-4b23-776b-08ddddcc01c0 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.232];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000AD7B.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4106 Content-Type: text/plain; charset="utf-8" From: Alex Vesker During table creation, caller passes a UID using ft_attr. The UID value was ignored, which leads to problems when the caller sets the UID to a non-zero value, such as SHARED_RESOURCE_UID (0xffff) - the internal FT objects will be created with UID=3D0. Fixes: 0869701cba3d ("net/mlx5: HWS, added FW commands handling") Signed-off-by: Alex Vesker Reviewed-by: Yevgeny Kliteynik Signed-off-by: Mark Bloch --- .../ethernet/mellanox/mlx5/core/steering/hws/cmd.c | 1 + .../ethernet/mellanox/mlx5/core/steering/hws/cmd.h | 1 + .../mellanox/mlx5/core/steering/hws/fs_hws.c | 1 + .../mellanox/mlx5/core/steering/hws/matcher.c | 5 ++++- .../mellanox/mlx5/core/steering/hws/mlx5hws.h | 1 + .../mellanox/mlx5/core/steering/hws/table.c | 13 ++++++++++--- .../mellanox/mlx5/core/steering/hws/table.h | 3 ++- 7 files changed, 20 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c b/d= rivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c index 9c83753e4592..0bdcab2e5cf3 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c @@ -55,6 +55,7 @@ int mlx5hws_cmd_flow_table_create(struct mlx5_core_dev *m= dev, =20 MLX5_SET(create_flow_table_in, in, opcode, MLX5_CMD_OP_CREATE_FLOW_TABLE); MLX5_SET(create_flow_table_in, in, table_type, ft_attr->type); + MLX5_SET(create_flow_table_in, in, uid, ft_attr->uid); =20 ft_ctx =3D MLX5_ADDR_OF(create_flow_table_in, in, flow_table_context); MLX5_SET(flow_table_context, ft_ctx, level, ft_attr->level); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.h b/d= rivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.h index fa6bff210266..122ccc671628 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.h @@ -36,6 +36,7 @@ struct mlx5hws_cmd_set_fte_attr { struct mlx5hws_cmd_ft_create_attr { u8 type; u8 level; + u16 uid; bool rtc_valid; bool decap_en; bool reformat_en; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws.c = b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws.c index 57592b92e24b..131e74b2b774 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws.c @@ -267,6 +267,7 @@ static int mlx5_cmd_hws_create_flow_table(struct mlx5_f= low_root_namespace *ns, =20 tbl_attr.type =3D MLX5HWS_TABLE_TYPE_FDB; tbl_attr.level =3D ft_attr->level; + tbl_attr.uid =3D ft_attr->uid; tbl =3D mlx5hws_table_create(ctx, &tbl_attr); if (!tbl) { mlx5_core_err(ns->dev, "Failed creating hws flow_table\n"); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/matcher.c= b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/matcher.c index f3ea09caba2b..32f87fdf3213 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/matcher.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/matcher.c @@ -85,6 +85,7 @@ static int hws_matcher_create_end_ft_isolated(struct mlx5= hws_matcher *matcher) =20 ret =3D mlx5hws_table_create_default_ft(tbl->ctx->mdev, tbl, + 0, &matcher->end_ft_id); if (ret) { mlx5hws_err(tbl->ctx, "Isolated matcher: failed to create end flow table= \n"); @@ -112,7 +113,9 @@ static int hws_matcher_create_end_ft(struct mlx5hws_mat= cher *matcher) if (mlx5hws_matcher_is_isolated(matcher)) ret =3D hws_matcher_create_end_ft_isolated(matcher); else - ret =3D mlx5hws_table_create_default_ft(tbl->ctx->mdev, tbl, + ret =3D mlx5hws_table_create_default_ft(tbl->ctx->mdev, + tbl, + 0, &matcher->end_ft_id); =20 if (ret) { diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/mlx5hws.h= b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/mlx5hws.h index 59c14745ed0c..2498ceff2060 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/mlx5hws.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/mlx5hws.h @@ -75,6 +75,7 @@ struct mlx5hws_context_attr { struct mlx5hws_table_attr { enum mlx5hws_table_type type; u32 level; + u16 uid; }; =20 enum mlx5hws_matcher_flow_src { diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.c b= /drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.c index 568f691733f3..6113383ae47b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.c @@ -9,6 +9,7 @@ u32 mlx5hws_table_get_id(struct mlx5hws_table *tbl) } =20 static void hws_table_init_next_ft_attr(struct mlx5hws_table *tbl, + u16 uid, struct mlx5hws_cmd_ft_create_attr *ft_attr) { ft_attr->type =3D tbl->fw_ft_type; @@ -16,7 +17,9 @@ static void hws_table_init_next_ft_attr(struct mlx5hws_ta= ble *tbl, ft_attr->level =3D tbl->ctx->caps->fdb_ft.max_level - 1; else ft_attr->level =3D tbl->ctx->caps->nic_ft.max_level - 1; + ft_attr->rtc_valid =3D true; + ft_attr->uid =3D uid; } =20 static void hws_table_set_cap_attr(struct mlx5hws_table *tbl, @@ -119,12 +122,12 @@ static int hws_table_connect_to_default_miss_tbl(stru= ct mlx5hws_table *tbl, u32 =20 int mlx5hws_table_create_default_ft(struct mlx5_core_dev *mdev, struct mlx5hws_table *tbl, - u32 *ft_id) + u16 uid, u32 *ft_id) { struct mlx5hws_cmd_ft_create_attr ft_attr =3D {0}; int ret; =20 - hws_table_init_next_ft_attr(tbl, &ft_attr); + hws_table_init_next_ft_attr(tbl, uid, &ft_attr); hws_table_set_cap_attr(tbl, &ft_attr); =20 ret =3D mlx5hws_cmd_flow_table_create(mdev, &ft_attr, ft_id); @@ -189,7 +192,10 @@ static int hws_table_init(struct mlx5hws_table *tbl) } =20 mutex_lock(&ctx->ctrl_lock); - ret =3D mlx5hws_table_create_default_ft(tbl->ctx->mdev, tbl, &tbl->ft_id); + ret =3D mlx5hws_table_create_default_ft(tbl->ctx->mdev, + tbl, + tbl->uid, + &tbl->ft_id); if (ret) { mlx5hws_err(tbl->ctx, "Failed to create flow table object\n"); mutex_unlock(&ctx->ctrl_lock); @@ -239,6 +245,7 @@ struct mlx5hws_table *mlx5hws_table_create(struct mlx5h= ws_context *ctx, tbl->ctx =3D ctx; tbl->type =3D attr->type; tbl->level =3D attr->level; + tbl->uid =3D attr->uid; =20 ret =3D hws_table_init(tbl); if (ret) { diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.h b= /drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.h index 0400cce0c317..1246f9bd8422 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.h @@ -18,6 +18,7 @@ struct mlx5hws_table { enum mlx5hws_table_type type; u32 fw_ft_type; u32 level; + u16 uid; struct list_head matchers_list; struct list_head tbl_list_node; struct mlx5hws_default_miss default_miss; @@ -47,7 +48,7 @@ u32 mlx5hws_table_get_res_fw_ft_type(enum mlx5hws_table_t= ype tbl_type, =20 int mlx5hws_table_create_default_ft(struct mlx5_core_dev *mdev, struct mlx5hws_table *tbl, - u32 *ft_id); + u16 uid, u32 *ft_id); =20 void mlx5hws_table_destroy_default_ft(struct mlx5hws_table *tbl, u32 ft_id); --=20 2.34.1 From nobody Sat Oct 4 11:11:59 2025 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2068.outbound.protection.outlook.com [40.107.223.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A7122F1FD5; Sun, 17 Aug 2025 20:24:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755462259; cv=fail; b=q5HFfl/O1iHdTRPEKb38lN3tImPrM3uKpIQpVPvnBQGawX/0shSIDWXmpI1lZpVQjVtbKyTH4+n/qX6PsyalP/M5Hiwzb5mlyp9RO0rV1JMVGMgTXD/DSr/F9/AYmSvWhJ6tVrINpf2Tmb7WQ6szvs3obZ8gOxR1F74LvpoyMiE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755462259; c=relaxed/simple; bh=NeaP+Vfv5MEX7XsS4Mp3pY2uXzxrsWELPeyKAtHoNRc=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=NyBYHdlg5+VQ2lI/aybIaAVR6kirHSgOAizRMKiL/CROyaaaM+X2hs/5SF1Y0GA7QzyrMCbSCPIg4qZt6apq4WVR5H3gKf35I9hRMGHOJctmHMTYwSAaw0V+7fjtjN0Ah7koE3IVIiDhtTFmmUMK4L+xA//JnrHxRieaRIe3OTg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=H1i9xJ9b; arc=fail smtp.client-ip=40.107.223.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="H1i9xJ9b" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sItE1PX0lwKpLm7kFSSI6qPeLAJKN92j8BUmAHKV0IJ6HLbaa58b422v2p7pwu3RSLiivSyjCidSqCRlVEnsQeC0e9240yYNBzmsF0InFFUNgMLSAZnJ5IpwO2mlmopStutDJ9HGveOncprjZYsc04CQXZzapCqHe0f20yFjit/ZjTsJWikpHxoPhNM5Pp669i4F7D8bkHNHgrvRJ83/YOCUjdGeo7rDue2WG+vDhb6CcUtSJufJ6wnyk4ROyF3mRBzZhl882RKlqe1zyP8lRcnUvrz1s/q5/NNXTLFNqdBkD5XN0UmEWLBnfsJ5dJLMStNarT/8HqrEk8nBFH9Kyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=CH68TnLa0WRJVmu5FBbi7rcZOFb9AFkC7Vd03K/6aFw=; b=nCHzhfe/mbI5YrmWUpvNSWWRFaCZ2lQlna12M9YfDyRY+sdNqWymsJRaLMggZyrzgZTvvDee2CnBFYBpb9Cjg520h/AoZ8RHTLYOj5HqgFMpzdxMj7p4hiZ+3rIW+y52i++nA37A4VYrMwf1uKZQLAvVi8Unkac69Pa9sLy3PAg6rdVBcQSYnhl4fVLqUeq3DQOfp4cYJZ26yLbb2eVxGFkDofUUnV3yqwieIp7EeJOZvwpuWHVQojBNBtp0JsjD0HtHluI4PJfNzA0STj+fcyjLQgu0tYSPUI2EkBvnhhaPG/+PE/X93kYKDZBSsifbK6+CRu3cGcpkhm0bAINclQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.233) smtp.rcpttodomain=google.com 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=CH68TnLa0WRJVmu5FBbi7rcZOFb9AFkC7Vd03K/6aFw=; b=H1i9xJ9bxDi84MOoKQ/rsmKiuqA4p8a1lPLpVgOZGyJIykM+/DOHTRB/aRVjae+fKqLRejSsDp3F0FZdflG3YEz9N4E4D0xtUTj6YgmA/KbCvKAhzTXsw69GASXEq0n2m5bXZyd+AtMQIy51CtXQfuIKUexHJ0RQAE/QpJjAOsuUE5Bsei5dQZM721Q1XStUHzQMMl8qswyLiSxhi4rFFxGZCC6QQE1gOOCtXxQ4MBgRk5XSSxh8ug5+QrNq4yELvtfHTtruae3aY0m+T2QKnjsETF1LxM8Bk4W09OyKVApqgzS5Hm1yZUUXUpa0aZPcdoHvMFg6O7fAaw6Er2iQdw== Received: from BN9PR03CA0374.namprd03.prod.outlook.com (2603:10b6:408:f7::19) by BY5PR12MB4259.namprd12.prod.outlook.com (2603:10b6:a03:202::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.24; Sun, 17 Aug 2025 20:24:14 +0000 Received: from BL6PEPF0001AB76.namprd02.prod.outlook.com (2603:10b6:408:f7:cafe::cf) by BN9PR03CA0374.outlook.office365.com (2603:10b6:408:f7::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9031.21 via Frontend Transport; Sun, 17 Aug 2025 20:24:13 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.233) 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.118.233 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.233; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.233) by BL6PEPF0001AB76.mail.protection.outlook.com (10.167.242.169) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.8 via Frontend Transport; Sun, 17 Aug 2025 20:24:13 +0000 Received: from drhqmail202.nvidia.com (10.126.190.181) by mail.nvidia.com (10.127.129.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 17 Aug 2025 13:24:04 -0700 Received: from drhqmail202.nvidia.com (10.126.190.181) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 17 Aug 2025 13:24:03 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.126.190.181) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Sun, 17 Aug 2025 13:24:00 -0700 From: Mark Bloch To: Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , "David S. Miller" CC: Tariq Toukan , Leon Romanovsky , "Saeed Mahameed" , , , , Gal Pressman , Vlad Dogaru , Yevgeny Kliteynik , Mark Bloch , Cosmin Ratiu , Jianbo Liu Subject: [PATCH net 7/7] net/mlx5: CT: Use the correct counter offset Date: Sun, 17 Aug 2025 23:23:23 +0300 Message-ID: <20250817202323.308604-8-mbloch@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250817202323.308604-1-mbloch@nvidia.com> References: <20250817202323.308604-1-mbloch@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB76:EE_|BY5PR12MB4259:EE_ X-MS-Office365-Filtering-Correlation-Id: 5a641647-b84c-4ccb-c539-08ddddcc0853 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|376014|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?gp8N0qcV5aJS1hzALX/e80DStKcFeCPEViQL9WmGpfLm8AetZHd1aIyYuQzQ?= =?us-ascii?Q?kMy8xuCHHeyTJgJUJ3OeVCTFMP8pcx9KhpM03uXMu83m+uARGpWjDk2o6MJq?= =?us-ascii?Q?URlxRvy96S3ahV2n8BKxQAjp5aOypmvmtOnC5w7RJIP+avC+XAYRwB6mxViK?= =?us-ascii?Q?uvwq38aHK05zHBsS0LnQGUw6d8f17CJkSwHJzb5NjJ4b3pHs/XPNw+J+ZeC6?= =?us-ascii?Q?Lk4pfebHj6VBsUAixSxaXQsFc3qQZzexw8J1IBAU6PFY1rvV5lxCNzdU0mIB?= =?us-ascii?Q?B9OI9J5Jb0dKC4b9OCOtvBRehOFPIFLWbUZHKpKOGVbZ8uJyB7MVwqA9CQzs?= =?us-ascii?Q?wDAf49vsiw/K5mOejNVcA4w2RoF+dgjo+X7UqYipNBE1k2q9QOVTfuST6fP4?= =?us-ascii?Q?6Qnt0fQTBUeq148Xu/tzEyYZ+d4J3TI2WICpisNyMHa4yAxb8/h/mkiPK3zT?= =?us-ascii?Q?vHu7UQL8I2lN17ys2zqVNTlSticHLGRfAFli7A9p9R2la4juttGBeSKxrpkS?= =?us-ascii?Q?KUsBdYJ1XL7H1hnmbQEHulWYjhP1dAMU1Fktc+8IMXW9z4Q0pQTMH4Yt+JTY?= =?us-ascii?Q?P/gmhfG+3GM5ukHOq7zigDf4ZmChb1nHXzhHzvoNWIdHMAMIkweC9VlK96MM?= =?us-ascii?Q?V42Howudrc5yKSP9CtUW7QrxUxlVojBJngqj8yQUWDf5Z7rWm5ULLLDigRmN?= =?us-ascii?Q?NQXcMlO0mR+Qf+q0HOF/h0uCMeKbxdjroorMS3iMvEJ3zi7fXnn7PvCk+0aP?= =?us-ascii?Q?i6+nZrSRxICC/wEbIqAn3WAk9/PlJGmPh00jdZcukDsVHHpxcjcHZECp/z1e?= =?us-ascii?Q?BDjFDrm6koI2oTm+BjjL8L73RpehdFdS4DnwpLtFmsMft9NrHkHM0T8ljKZ6?= =?us-ascii?Q?APHbEKu+hSmqgSAAaxoy/qYhBfhG+ZCu5hLU/0I9rkgXB7WKGl5qju0iKgCe?= =?us-ascii?Q?40sxThNuAuma5vioewuetVQkIpuMgyFsK0WL5QdzJclU6ZDJJQBzy55vuhJB?= =?us-ascii?Q?PIiA4hSIdyGEh02W9viUiDYM3Ft1VfrFtPC0Dc1nGysy2iAu2HACRl4gi6VT?= =?us-ascii?Q?C6O/fpE69fDWp9Kbga9+cZ/5iG9fvwNrX+SDFbZlbA5zuUhMGHY9JhzXhyVe?= =?us-ascii?Q?+XYRUH4MXJbgPtgrBIeSe1lQdZWvrGgvopaaiCKb16sfZeCOxAQXaQ8xtmHR?= =?us-ascii?Q?KS/dAs8+M+JMgPiEe4+kSx/u4J+SzfFG2gdbiW6BHnHUPui4TlvAcslLad/+?= =?us-ascii?Q?ouIyXFh7QVAFh3zLlXbVsNYWbXQ1FAucnUC/RMb6FvvLZ75FxQfbebxgGi8m?= =?us-ascii?Q?XQl0cPbuaz/CoUv0FVQ5hY1svBi2MeeyHoaKbPJnJ1cFWC71AxgxivB0DgBh?= =?us-ascii?Q?8xkJP6GoTAaO7VuizznYRgT+3RPIyYnuwawlZ70o9eTa3TMICG2Sqmgr6jtQ?= =?us-ascii?Q?wO0onvtgev9nfPNDZkFyO6Ij3U56UiJL3K+8ppV5gCzjzkV8HhOtRBqT3G3V?= =?us-ascii?Q?k+BLZiGckgdQPvYG/3FZIbqZ0WDINObuuc07?= X-Forefront-Antispam-Report: CIP:216.228.118.233;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge2.nvidia.com;CAT:NONE;SFS:(13230040)(36860700013)(376014)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2025 20:24:13.7304 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5a641647-b84c-4ccb-c539-08ddddcc0853 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.233];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF0001AB76.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4259 Content-Type: text/plain; charset="utf-8" From: Vlad Dogaru Specifying the counter action is not enough, as it is used by multiple counters that were allocated in a bulk. By omitting the offset, rules will be associated with a different counter from the same bulk. Subsequently, the CT subsystem checks the correct counter, assumes that no traffic has triggered the rule, and ages out the rule. The end result is intermittent offloading of long lived connections, as rules are aged out then promptly re-added. Fix this by specifying the correct offset along with the counter rule. Fixes: 34eea5b12a10 ("net/mlx5e: CT: Add initial support for Hardware Steer= ing") Signed-off-by: Vlad Dogaru Reviewed-by: Yevgeny Kliteynik Signed-off-by: Mark Bloch --- drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c b/d= rivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c index a4263137fef5..01d522b02947 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c @@ -173,6 +173,8 @@ static void mlx5_ct_fs_hmfs_fill_rule_actions(struct ml= x5_ct_fs_hmfs *fs_hmfs, =20 memset(rule_actions, 0, NUM_CT_HMFS_RULES * sizeof(*rule_actions)); rule_actions[0].action =3D mlx5_fc_get_hws_action(fs_hmfs->ctx, attr->cou= nter); + rule_actions[0].counter.offset =3D + attr->counter->id - attr->counter->bulk->base_id; /* Modify header is special, it may require extra arguments outside the a= ction itself. */ if (mh_action->mh_data) { rule_actions[1].modify_header.offset =3D mh_action->mh_data->offset; --=20 2.34.1