From patchwork Tue Apr 20 14:53:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 425046 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CE573C433ED for ; Tue, 20 Apr 2021 14:55:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 90B75613CD for ; Tue, 20 Apr 2021 14:55:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232842AbhDTO4N (ORCPT ); Tue, 20 Apr 2021 10:56:13 -0400 Received: from mail-dm6nam12on2087.outbound.protection.outlook.com ([40.107.243.87]:5857 "EHLO NAM12-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S232828AbhDTO4K (ORCPT ); Tue, 20 Apr 2021 10:56:10 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G2zTg/0DxYdv8zazgu8+77mrlDWEw0p0pxc69PONLxxF1blbC+zVzi8JKgDTQf/cJKsHMOQUE6+vrDXlV25DTVKx2vtvYPMUuH3xGPaIVrrioufW6FjJAJF8AcxrGEXo8EKy+39Hexz2Qtb8Jq8DmwMVW2qgs6dfDY5UVR7Nz3lbKFytWNYNIFBMjYlMqBopEuch9ecXIfBmssThZxqJvgnnay2A5INYesTL/HsSmacRBEG5vrLC7vf+cymJwVhJ0naiVNKYJOi1rwXh+y1b3YVXNw851w/kdM0zmjMVgxSxa9Q1ZIoh89QngWMjDVoomWDNMnGwnhT7cnyd2FMlvA== 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-SenderADCheck; bh=ubgkYEEaU7dPiJjtlBDVE/4eO1tMsEN+EOcqzqlesBQ=; b=nPhYN9l6s5TBIa9A/yfmaKLSESLflF7nG8ZgtoSw9EExKJSUpns9nVZr5rKN/KdzAbV5bZpKM4Ur7QceiTO3jidGiZfDFa4LB4dhUQHiAsclxmFjDbEdOI8+39um2BkxMvE52y2BX25HTQbZnk/HOKsDBYZwzpDgeQVZItbTelqj4LkixOH/a9n3T1H1FBFcdREOIR5Z58Ci5hHjOsmozQVWAziXqsAEdADvIkrPsVmvhp3Ym86gcM4elhlFnFRQZlufmCcAAutEzQkJ8u83NTtAh9ZYTA9w189lCdB40pVQq0Ksg2QPYvmXrKS+A2ZmCK7xNfC5d6rb7QIYLr/gqQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=davemloft.net smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none 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=ubgkYEEaU7dPiJjtlBDVE/4eO1tMsEN+EOcqzqlesBQ=; b=Kk02+nJVqqawDIPJp8omkFWBJ0WoNngnLpp8t8Wuq22OZvstMtvBlyaJZTYLE8qQLDOk3JLMc5JjmJN20Aue6QGEOFe78j49T1Q/YVbfeEc9DgRBm34JA0DCtP2B4y6OomWrnCTpFS71D1P7hLgOGp67boBqwq4KLUxgTkLDkoyKmfEYJWehwExEWnHLVzN6zpn5SpiY25NMj7ipjnMc3jiRX5Rlnrg5dl6k0Q3Ph/Qq0soo94yu6QTMuraGFsqh7gHk9yAr/+gpp6ZLKHdE85a7fecXjEwnb9oB1u3rAZbe8qJ2fz6f9oBLzf08vgpjq1Ez42KnX0gxja55ftimBQ== Received: from BN9PR12CA0009.namprd12.prod.outlook.com (2603:10b6:408:10c::32) by CH0PR12MB5185.namprd12.prod.outlook.com (2603:10b6:610:b8::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16; Tue, 20 Apr 2021 14:55:37 +0000 Received: from BN8NAM11FT040.eop-nam11.prod.protection.outlook.com (2603:10b6:408:10c:cafe::4d) by BN9PR12CA0009.outlook.office365.com (2603:10b6:408:10c::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.20 via Frontend Transport; Tue, 20 Apr 2021 14:55:37 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; davemloft.net; dkim=none (message not signed) header.d=none; davemloft.net; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by BN8NAM11FT040.mail.protection.outlook.com (10.13.177.166) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4042.16 via Frontend Transport; Tue, 20 Apr 2021 14:55:37 +0000 Received: from localhost.localdomain (172.20.145.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 20 Apr 2021 14:55:34 +0000 From: Petr Machata To: CC: , Ido Schimmel , "David S . Miller" , Jakub Kicinski , Petr Machata Subject: [PATCH net-next 01/10] mlxsw: spectrum_qdisc: Drop one argument from check_params callback Date: Tue, 20 Apr 2021 16:53:39 +0200 Message-ID: <95326aede708460b3452e58f33c9eaa1f5b2b9f6.1618928118.git.petrm@nvidia.com> X-Mailer: git-send-email 2.26.3 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [172.20.145.6] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 292bd5c1-8b48-41ee-d0e2-08d9040c5b94 X-MS-TrafficTypeDiagnostic: CH0PR12MB5185: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:186; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: R6GzPoYIRe4j1yChx/5rC3oGFlTjEg1aY5hoKdZcq/gW07IXiKcPYSqtZhir08hGXgqXl0ApBC1UTc0+7+jwPUQug45Esj1hJ79n3ShAOF6nGggj3p/gEvPVKdt9H/K4U/l3X+te63Vvu71LRnltWsbcV/T7r1s2rpSNPlW6Jm3EmzgEeWyBSR3VNLfcJRqRTYEUsCEe3rUAk7mY/Nz33+EW5KN/5j4Tt6S5zhJBXKscgiJ/yUbtKBj8eA8Zyzaf3BGPGf377f2nTZm2ZimlqwegWUJc1sSYEbXZ5JtLB9zp74j6e9U6v+rZNCtqBCEfiDqpSFcMrYDxAvWDqiTXpvTLxYQpDKbDy4nL6kBH95rN0/nJpkdR9ZGad25f8740AfUCJoa7hFG2aYGMeM5j5c2quf7tDUFCK6cLu0lM9X+dyLdAylB4hOhOVCGBVt90iXnQwrBGVKoDhOlLUjGcbvC1znN2zxmFNZAi5wl3VxqkjtIS9CFAVv94nF5yQ4q7SQEpUd20zdC/o81rM51K2/xIFj5tSKJ/Mh5R99BpDJwxlcUu49av0eqq3S10RAr64PXvdkZ5Rrpy1el+uvqX+804SsyBeTn7sOF65qt7BBY/t3OdDLoPHm7e1okjXoV7c64BWSBHsPotfcyMyZxVE0HHv/8c6JiTchF63EI6Iik= X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(396003)(376002)(39860400002)(346002)(136003)(36840700001)(46966006)(16526019)(2616005)(86362001)(478600001)(107886003)(54906003)(26005)(36906005)(336012)(82740400003)(316002)(6916009)(8936002)(186003)(82310400003)(8676002)(7636003)(36756003)(4326008)(83380400001)(47076005)(356005)(2906002)(426003)(70206006)(36860700001)(5660300002)(70586007); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2021 14:55:37.0534 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 292bd5c1-8b48-41ee-d0e2-08d9040c5b94 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT040.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5185 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The mlxsw_sp_qdisc argument is not used in any of the actual callbacks. Drop it. Signed-off-by: Petr Machata Reviewed-by: Ido Schimmel --- drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c index baf17c0b2702..644ffc021abe 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c @@ -29,7 +29,6 @@ struct mlxsw_sp_qdisc; struct mlxsw_sp_qdisc_ops { enum mlxsw_sp_qdisc_type type; int (*check_params)(struct mlxsw_sp_port *mlxsw_sp_port, - struct mlxsw_sp_qdisc *mlxsw_sp_qdisc, void *params); int (*replace)(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle, struct mlxsw_sp_qdisc *mlxsw_sp_qdisc, void *params); @@ -198,7 +197,7 @@ mlxsw_sp_qdisc_replace(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle, goto err_hdroom_configure; } - err = ops->check_params(mlxsw_sp_port, mlxsw_sp_qdisc, params); + err = ops->check_params(mlxsw_sp_port, params); if (err) goto err_bad_param; @@ -434,7 +433,6 @@ mlxsw_sp_qdisc_red_destroy(struct mlxsw_sp_port *mlxsw_sp_port, static int mlxsw_sp_qdisc_red_check_params(struct mlxsw_sp_port *mlxsw_sp_port, - struct mlxsw_sp_qdisc *mlxsw_sp_qdisc, void *params) { struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; @@ -678,7 +676,6 @@ mlxsw_sp_qdisc_tbf_rate_kbps(struct tc_tbf_qopt_offload_replace_params *p) static int mlxsw_sp_qdisc_tbf_check_params(struct mlxsw_sp_port *mlxsw_sp_port, - struct mlxsw_sp_qdisc *mlxsw_sp_qdisc, void *params) { struct tc_tbf_qopt_offload_replace_params *p = params; @@ -813,7 +810,6 @@ mlxsw_sp_qdisc_fifo_destroy(struct mlxsw_sp_port *mlxsw_sp_port, static int mlxsw_sp_qdisc_fifo_check_params(struct mlxsw_sp_port *mlxsw_sp_port, - struct mlxsw_sp_qdisc *mlxsw_sp_qdisc, void *params) { return 0; @@ -948,7 +944,6 @@ __mlxsw_sp_qdisc_ets_check_params(unsigned int nbands) static int mlxsw_sp_qdisc_prio_check_params(struct mlxsw_sp_port *mlxsw_sp_port, - struct mlxsw_sp_qdisc *mlxsw_sp_qdisc, void *params) { struct tc_prio_qopt_offload_params *p = params; @@ -1124,7 +1119,6 @@ static struct mlxsw_sp_qdisc_ops mlxsw_sp_qdisc_ops_prio = { static int mlxsw_sp_qdisc_ets_check_params(struct mlxsw_sp_port *mlxsw_sp_port, - struct mlxsw_sp_qdisc *mlxsw_sp_qdisc, void *params) { struct tc_ets_qopt_offload_replace_params *p = params; From patchwork Tue Apr 20 14:53:41 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 425045 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 636D6C43461 for ; Tue, 20 Apr 2021 14:55:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2AB78613CA for ; Tue, 20 Apr 2021 14:55:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232877AbhDTO4T (ORCPT ); Tue, 20 Apr 2021 10:56:19 -0400 Received: from mail-bn8nam12on2041.outbound.protection.outlook.com ([40.107.237.41]:54240 "EHLO NAM12-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S232853AbhDTO4P (ORCPT ); Tue, 20 Apr 2021 10:56:15 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kfej2EODBPFkydqNVP+k8ih4+JSbv3uo40DWkLb4FnHQT80VLXr2xDeKrgy5SU02y7zqh9zgkACr0GnPLUF2gaiNhtbVQEoTrVYC2nquZ5R/6wTwDMYtiv1+c1jXik+5yDjggBXHIp7nx16SmPOeEL6SqyNOXkVgc0+UFLAYm+4R0A9hh757sd0rPuz2aNwkpG/4e3FtC+AhYKbfRTWWX1tfVvUlozmb5nfpL+gewvN4RsAlHxaeerImppO7fIgXLUw9aEd64BKf+c/tsjxZ45el5DBijBKTAw9F0aaYbLsFVklB8hfZ3ugzvbsy3Andru5Vg7YiRTPWDpLB0gkq+A== 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-SenderADCheck; bh=jsEVeeJN2AVFkfsDkf9ftjcEIF8uLeAayd53FY6vsTk=; b=Dg/XjbCpQoiTsz41yj7tsJEHrPM24WwwuBrjcfHCQCp3xks4qQ7s14rmVCVrfJXQN1IkdcmviJFfczOY5J15OQTS4Wzzf/iAR2slcSdMg/TMiHXjcEsYaVYuiVhU62F2jL+CKcYqRPh/KWjPq9zaNViwHhB9e3FOW7uwYUS/8fC4910E763fWLe5Am5KoNULLOBCP+W0ijtazEzs5JjfDSA8k9Y69IgY+rfyENyKRTJLg47tReXNwJnsZKIm8YBzKDd2+ZcPDV2SwXQQ/83HQo3mVebkK4u32FXyw2Ftpg/gxhv0BUiSh65abNqdLD0KMOoJy+T870kKMRqAWZw7/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=davemloft.net smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none 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=jsEVeeJN2AVFkfsDkf9ftjcEIF8uLeAayd53FY6vsTk=; b=GdvL8f/I/zuP9HVcllh7L3y7IfYBBeX8/pS2sLHxx36Pz8CwvwiRzQjpt1ASteqXsLbPBiPgATVwCM7SIGNORDQyTTLI8G+pRThjKsnoYKrokRLWEONsqlX9hMIHviJfndfFH0BMy7CN6yUMB45kTOx8e614JZAndyv7RTmquXXv0HTJCogeVthh7o60ZIHcs1a8EtUoWgVEQrLHr1ZdhPdzwvRVK8UmKP3pmKNghIAmHXE4URcqwhq2i1swY/tMjkNtecUAXomVARjaaPPhRXuvo6RjZLMsgSMVg09LT72LpRv1xaUj5wpAiSNojqrUX+OD4iRxvnlDX3tksb33sw== Received: from BN9PR12CA0012.namprd12.prod.outlook.com (2603:10b6:408:10c::6) by CY4PR12MB1511.namprd12.prod.outlook.com (2603:10b6:910:4::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.19; Tue, 20 Apr 2021 14:55:41 +0000 Received: from BN8NAM11FT040.eop-nam11.prod.protection.outlook.com (2603:10b6:408:10c:cafe::e2) by BN9PR12CA0012.outlook.office365.com (2603:10b6:408:10c::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.20 via Frontend Transport; Tue, 20 Apr 2021 14:55:41 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; davemloft.net; dkim=none (message not signed) header.d=none; davemloft.net; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by BN8NAM11FT040.mail.protection.outlook.com (10.13.177.166) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4042.16 via Frontend Transport; Tue, 20 Apr 2021 14:55:40 +0000 Received: from localhost.localdomain (172.20.145.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 20 Apr 2021 14:55:38 +0000 From: Petr Machata To: CC: , Ido Schimmel , "David S . Miller" , Jakub Kicinski , Petr Machata Subject: [PATCH net-next 03/10] mlxsw: spectrum_qdisc: Drop an always-true condition Date: Tue, 20 Apr 2021 16:53:41 +0200 Message-ID: <7325913eab1aca069f53a9d5d6d051224f4007ff.1618928119.git.petrm@nvidia.com> X-Mailer: git-send-email 2.26.3 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [172.20.145.6] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e34e39dd-0d28-4fad-db46-08d9040c5da3 X-MS-TrafficTypeDiagnostic: CY4PR12MB1511: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:67; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ooxjtYkd5Ch7ydsHpz8/ZPv5v8bytHlyfn5GYRfYO836hKoyj7l6yjUGA46wxKXFtHs1hHo9qlsUWfUcfuCjqFt5hs9KLxiNMLFyz+8ObeQmCXfGifTjdxOKdzN8q4fV8UqwnmHp30sspkF5vw6cq6KMoLtyOShn86Mh2l/cpqscZv5zOrT8TBhoALXhmKDLK3xD/s+Mpcq2yVaZnLsqupDjMW1eac0+Q85m2CswDfeL9RNp4d+gMRL6r0mTVM/ySBXTjbYOdUleSYyBNCzG5Kect/e+NB+XZZJIc08Id+9vzeOrGzJy4fIJZidTvpcheSG5YPO/bMPOLpRKfdWtGDB8PGs4gBumEXSB7hpO1vPcIUeZ3xX+dXhgOPGZDS867a3yjh17nU+f/xwcn46tGPtlYs5KXy+EXwu6EcRdo0keJE/1+MwoB0et8kD9FjzWeRAyUE+4zQnQkKUS1DSD7tEKZjENLPJOH/HE6ofpz4nQvLVGMJ+tSBFzILW33PZxOZgFsYOzmAmV9QZuWaZh5Y8nniHUfare18HkcsrUNIA3dslvMdaSGKC8Q4bObkS3XEHf1k5CR+DIPmG6dmhEsvT2QYo8Sihw5yi7THjVl7yhjcH9oUwWJcMOuPb/PBBY68VRcssW9kwJJL8GtHaeDOqShZAxG8Lp9yEYj++RRic= X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(136003)(376002)(396003)(39860400002)(346002)(36840700001)(46966006)(70206006)(186003)(8936002)(70586007)(36860700001)(4326008)(6666004)(36906005)(8676002)(356005)(107886003)(5660300002)(2906002)(2616005)(16526019)(316002)(82310400003)(86362001)(6916009)(54906003)(426003)(7636003)(82740400003)(47076005)(478600001)(83380400001)(36756003)(26005)(336012); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2021 14:55:40.5025 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e34e39dd-0d28-4fad-db46-08d9040c5da3 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT040.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1511 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The function mlxsw_sp_qdisc_compare() is invoked a couple lines above this check, which will bounce any requests where this condition does not hold. Therefore drop it. Signed-off-by: Petr Machata Reviewed-by: Ido Schimmel --- drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c index 013398ecd15b..f1d32bfc4bed 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c @@ -886,10 +886,7 @@ int mlxsw_sp_setup_tc_fifo(struct mlxsw_sp_port *mlxsw_sp_port, switch (p->command) { case TC_FIFO_DESTROY: - if (p->handle == mlxsw_sp_qdisc->handle) - return mlxsw_sp_qdisc_destroy(mlxsw_sp_port, - mlxsw_sp_qdisc); - return 0; + return mlxsw_sp_qdisc_destroy(mlxsw_sp_port, mlxsw_sp_qdisc); case TC_FIFO_STATS: return mlxsw_sp_qdisc_get_stats(mlxsw_sp_port, mlxsw_sp_qdisc, &p->stats); From patchwork Tue Apr 20 14:53:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 425044 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6969DC433ED for ; Tue, 20 Apr 2021 14:55:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3236C613CD for ; Tue, 20 Apr 2021 14:55:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232907AbhDTO4Z (ORCPT ); Tue, 20 Apr 2021 10:56:25 -0400 Received: from mail-mw2nam10on2077.outbound.protection.outlook.com ([40.107.94.77]:5824 "EHLO NAM10-MW2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S232860AbhDTO4R (ORCPT ); Tue, 20 Apr 2021 10:56:17 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Vka3s+c9V50aOfcTUti/pPX03m63wBv3NPuPJJl1sQDRIOkGo59BIYScmX8ycvOWfYXwd9UKRGh836LpN9JZBkrCAw8DuQey06pMsPQLTTazRrJQxaS3OHEklK42GQPYSrBV4Jsn9A+Sxm8xizUl5SQBzhF0mcb0b2SPHS6kc+iGrGRj1MstvAq0Hr/6bUIR8bNi+GkucZwZc8fPTwnZSzms0/zzoTKApwdlxHh1++aNSFFIm2oCGm66Fe3Dyo/sIauTyTF4HyuEs+hYw4/HA26fRTzBz1OPab9VwCOxjL4sjXeFp9vVAs5HEEf2z30b3rxS4tcy328l7KsRVe1E7Q== 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-SenderADCheck; bh=NJl+qyizRhUzNMLzFYNI2FTUbXIUVvedjz9zwGGP3fo=; b=bK2wc+tTgpnIheInWFhnzcSVPvW+xfBaIBJKqJsVJPv2Ot2Ahm4hTppJLGtJsADiqlnnk8fQ0Kq93gyPS4xcxVzbe08XS8SnEIuKso0gNNHxYkzarVGaWFZcr2VcOWWVSruJ8xFYLTi9xqwx7A2o1EGMafPy0VrlbHt1iT/P9YQJrdpIslAigPWU/pPO4UjjWB81JJRXkHE3B8rrKEhXDTdfEVugrRofdfbGoE2LkvMaFnZuJCo3hCfLj55JQnX6vhY0CrUbVoDuyK8Ir4aBB7SCPWjdPXXgL4X6+2tUP40KEw59m+pqqnbb+HVmQoCO74D+7L++HOAl+1jLsnDC5A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=davemloft.net smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none 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=NJl+qyizRhUzNMLzFYNI2FTUbXIUVvedjz9zwGGP3fo=; b=lQkvf3la2uyvvhuazTM8T6r9pJtcjzx7x36ubHnjIFYAyYuXfmakFP5mSePCZBE0IzJDLm8FGQeJKNmO83eUbe5kIdClqneVydSpCphQ5bl+AQLQNPMd5NzpMKdx35ckdVhcGf8Yhqio1ddT1qZdBjjPU6z8gtLy8ZpHuKYZGCkxyy9co/OoSSDAUmwx6emi8xs84zSSo05rM1nNRohtgmGvH5ZhbjhuXIyKwfVkPwOF6z6/BVNiRlD3R5FyB8C6KWULvLOY7YPg/x8BDyv1gzWMywiJkC2xcin1IeLQDSDC8m+BWkYPzo/Lm8DhsPre+WCjZzJ6ITuc+N3WyvP2TA== Received: from BN0PR04CA0141.namprd04.prod.outlook.com (2603:10b6:408:ed::26) by PH0PR12MB5436.namprd12.prod.outlook.com (2603:10b6:510:eb::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16; Tue, 20 Apr 2021 14:55:45 +0000 Received: from BN8NAM11FT008.eop-nam11.prod.protection.outlook.com (2603:10b6:408:ed:cafe::b9) by BN0PR04CA0141.outlook.office365.com (2603:10b6:408:ed::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16 via Frontend Transport; Tue, 20 Apr 2021 14:55:45 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; davemloft.net; dkim=none (message not signed) header.d=none; davemloft.net; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by BN8NAM11FT008.mail.protection.outlook.com (10.13.177.95) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4042.16 via Frontend Transport; Tue, 20 Apr 2021 14:55:44 +0000 Received: from localhost.localdomain (172.20.145.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 20 Apr 2021 14:55:42 +0000 From: Petr Machata To: CC: , Ido Schimmel , "David S . Miller" , Jakub Kicinski , Petr Machata Subject: [PATCH net-next 05/10] mlxsw: spectrum_qdisc: Promote backlog reduction to mlxsw_sp_qdisc_destroy() Date: Tue, 20 Apr 2021 16:53:43 +0200 Message-ID: <5d7386374091a172f5e260ecea7a757bb7f39a41.1618928119.git.petrm@nvidia.com> X-Mailer: git-send-email 2.26.3 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [172.20.145.6] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9b69f50a-008a-4626-8a6b-08d9040c601d X-MS-TrafficTypeDiagnostic: PH0PR12MB5436: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jU8jwywoCR9MS0rlmrQXYCH74zDA7TJyRkhwRatrVESGk/ZiFUYjQSaApZeeLuQJiXf+C5/iOwWVKOlsBagt3L8Yh1XeHmUlx0DPuwT03VSt7p3sxmPuur3gNMXfpbyexB5M1AL7Ix47PoepYsb6H3s6L9IcqjNxOG1RpwBkklM35Tx+czWKTou5NjxH0BpAeIFHaefv/lRU2Aq4J/zXUfwVIN2OZDM1qzIynsCrgL5KNwBh/jOc5h21W3KJZaH121RxyjX0S3tbfsv5Tl12bQJl+qo6BKeXI72O3Nh7+lvCtQQe6KyviPSfLjYFFi3tzsekIkfprhlaujhRm2vjCDkCVJK1TsL+te5so/JhdRPvXGWqcyh2jZJCRHiF2YWqxr4kglead/1Jyq61BR+NpOULDVV80T8V/Z32AYHorsD179XxwSQTzSY3VpipxXgQnm7YCSHsIAElktutDkS4bbR6sCBnUFsKUGfO2Ax4o+sWYmIrjPRtGSjaYdZyMijyCSyBhh0YXZoQ+xZhiCht/voOwMvOerB99tUYyJO6UnYH82apkgp+bvw7q92nHCYTNGNogqanGwyuxGink1jLRqrU2IKCM/E/DiMtXDSQscgY74OMtLOf/sAhS7YhP/XQs127Me0tVsnDP0mGSxK5A/OiwSiIockMhP/SCUfQpqs= X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(346002)(136003)(376002)(39860400002)(396003)(46966006)(36840700001)(426003)(478600001)(336012)(70206006)(5660300002)(82310400003)(8936002)(70586007)(2906002)(54906003)(26005)(6916009)(316002)(36906005)(8676002)(186003)(36756003)(2616005)(16526019)(83380400001)(7636003)(4326008)(86362001)(82740400003)(356005)(36860700001)(47076005)(107886003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2021 14:55:44.6544 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9b69f50a-008a-4626-8a6b-08d9040c601d X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT008.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB5436 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org When a qdisc is removed, it is necessary to update the backlog value at its parent--unless the qdisc is at root position. RED, TBF and FIFO all do that, each separately. Since all of them need to do this, just promote the operation directly to mlxsw_sp_qdisc_destroy(), instead of deferring it to individual destructors. Since FIFO dtor thus becomes trivial, remove it. Add struct mlxsw_sp_qdisc.parent to point at the parent qdisc. This will be handy later as deeper structures are offloaded. Use the parent qdisc to find the chain of parents whose backlog value needs to be updated. Signed-off-by: Petr Machata Reviewed-by: Ido Schimmel --- .../ethernet/mellanox/mlxsw/spectrum_qdisc.c | 48 +++++++------------ 1 file changed, 18 insertions(+), 30 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c index da1f6314df60..a8a7e9c88a4d 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c @@ -65,6 +65,7 @@ struct mlxsw_sp_qdisc { } stats_base; struct mlxsw_sp_qdisc_ops *ops; + struct mlxsw_sp_qdisc *parent; }; struct mlxsw_sp_qdisc_state { @@ -132,6 +133,15 @@ mlxsw_sp_qdisc_find_by_handle(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle) return NULL; } +static void +mlxsw_sp_qdisc_reduce_parent_backlog(struct mlxsw_sp_qdisc *mlxsw_sp_qdisc) +{ + struct mlxsw_sp_qdisc *tmp; + + for (tmp = mlxsw_sp_qdisc->parent; tmp; tmp = tmp->parent) + tmp->stats_base.backlog -= mlxsw_sp_qdisc->stats_base.backlog; +} + static int mlxsw_sp_qdisc_destroy(struct mlxsw_sp_port *mlxsw_sp_port, struct mlxsw_sp_qdisc *mlxsw_sp_qdisc) @@ -153,7 +163,11 @@ mlxsw_sp_qdisc_destroy(struct mlxsw_sp_port *mlxsw_sp_port, err_hdroom = mlxsw_sp_hdroom_configure(mlxsw_sp_port, &hdroom); } - if (mlxsw_sp_qdisc->ops && mlxsw_sp_qdisc->ops->destroy) + if (!mlxsw_sp_qdisc->ops) + return 0; + + mlxsw_sp_qdisc_reduce_parent_backlog(mlxsw_sp_qdisc); + if (mlxsw_sp_qdisc->ops->destroy) err = mlxsw_sp_qdisc->ops->destroy(mlxsw_sp_port, mlxsw_sp_qdisc); @@ -417,13 +431,6 @@ static int mlxsw_sp_qdisc_red_destroy(struct mlxsw_sp_port *mlxsw_sp_port, struct mlxsw_sp_qdisc *mlxsw_sp_qdisc) { - struct mlxsw_sp_qdisc_state *qdisc_state = mlxsw_sp_port->qdisc; - struct mlxsw_sp_qdisc *root_qdisc = &qdisc_state->root_qdisc; - - if (root_qdisc != mlxsw_sp_qdisc) - root_qdisc->stats_base.backlog -= - mlxsw_sp_qdisc->stats_base.backlog; - return mlxsw_sp_tclass_congestion_disable(mlxsw_sp_port, mlxsw_sp_qdisc->tclass_num); } @@ -616,13 +623,6 @@ static int mlxsw_sp_qdisc_tbf_destroy(struct mlxsw_sp_port *mlxsw_sp_port, struct mlxsw_sp_qdisc *mlxsw_sp_qdisc) { - struct mlxsw_sp_qdisc_state *qdisc_state = mlxsw_sp_port->qdisc; - struct mlxsw_sp_qdisc *root_qdisc = &qdisc_state->root_qdisc; - - if (root_qdisc != mlxsw_sp_qdisc) - root_qdisc->stats_base.backlog -= - mlxsw_sp_qdisc->stats_base.backlog; - return mlxsw_sp_port_ets_maxrate_set(mlxsw_sp_port, MLXSW_REG_QEEC_HR_SUBGROUP, mlxsw_sp_qdisc->tclass_num, 0, @@ -790,19 +790,6 @@ int mlxsw_sp_setup_tc_tbf(struct mlxsw_sp_port *mlxsw_sp_port, } } -static int -mlxsw_sp_qdisc_fifo_destroy(struct mlxsw_sp_port *mlxsw_sp_port, - struct mlxsw_sp_qdisc *mlxsw_sp_qdisc) -{ - struct mlxsw_sp_qdisc_state *qdisc_state = mlxsw_sp_port->qdisc; - struct mlxsw_sp_qdisc *root_qdisc = &qdisc_state->root_qdisc; - - if (root_qdisc != mlxsw_sp_qdisc) - root_qdisc->stats_base.backlog -= - mlxsw_sp_qdisc->stats_base.backlog; - return 0; -} - static int mlxsw_sp_qdisc_fifo_check_params(struct mlxsw_sp_port *mlxsw_sp_port, void *params) @@ -832,7 +819,6 @@ static struct mlxsw_sp_qdisc_ops mlxsw_sp_qdisc_ops_fifo = { .type = MLXSW_SP_QDISC_FIFO, .check_params = mlxsw_sp_qdisc_fifo_check_params, .replace = mlxsw_sp_qdisc_fifo_replace, - .destroy = mlxsw_sp_qdisc_fifo_destroy, .get_stats = mlxsw_sp_qdisc_get_fifo_stats, .clean_stats = mlxsw_sp_setup_tc_qdisc_leaf_clean_stats, }; @@ -1825,8 +1811,10 @@ int mlxsw_sp_tc_qdisc_init(struct mlxsw_sp_port *mlxsw_sp_port) qdisc_state->root_qdisc.prio_bitmap = 0xff; qdisc_state->root_qdisc.tclass_num = MLXSW_SP_PORT_DEFAULT_TCLASS; - for (i = 0; i < IEEE_8021QAZ_MAX_TCS; i++) + for (i = 0; i < IEEE_8021QAZ_MAX_TCS; i++) { qdisc_state->tclass_qdiscs[i].tclass_num = i; + qdisc_state->tclass_qdiscs[i].parent = &qdisc_state->root_qdisc; + } mlxsw_sp_port->qdisc = qdisc_state; return 0; From patchwork Tue Apr 20 14:53:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 425043 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 03C8CC433B4 for ; Tue, 20 Apr 2021 14:56:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C01EA613CD for ; Tue, 20 Apr 2021 14:56:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232929AbhDTO4c (ORCPT ); Tue, 20 Apr 2021 10:56:32 -0400 Received: from mail-dm6nam12on2080.outbound.protection.outlook.com ([40.107.243.80]:38881 "EHLO NAM12-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S232869AbhDTO4Y (ORCPT ); Tue, 20 Apr 2021 10:56:24 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iPjOFEEZnlGUzcGCkuD9SW385XCKB6btMR8sXONURmI0jqi/uSUJrvTCcmJIF4464P31V/k7anUmGiwsojujOaWc1xz4IbETmSphCsSIT1zPl7eiJlp1t52SqK/fcKocIO1pCFm7Te1pP6uxlh7KnYE7FhJeNvDanKPsSygZrKE+nASok6et6OJb1xoQDzzOM6bCnx+90Wn4IbV8agUbBI3ZUylhKxlemmOa2iv9NnyI81rqhxGaU/ZCO7HZEgl6HSi999/pSTyfoc1c4td8eq6VjInfn/O+ayC4FOrPey12rWnmUIEoPkCA6kmkSLs2XBg+q/kz1vqHQ3sLF1r4+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-SenderADCheck; bh=tsnJjNAe3bZQQWgHanLQ1v9nuDmkOf5mUGE8Ggrg+gQ=; b=lYCCEysCbh6s2AAOOQOmaU1ycQQbITBTCwuXPQ5FkqW3bdMr3R97c9wXJvaIYYHtVEDfF74f46yROqq1d51vxjtiUGiMktfFhGCwBfohwwvFMkV5jsomEfMi5VJmBuRdz8lr/0ZZkajOOTyRNMgleqEheJvkjQgZpLT9btBROFdcyqCwHLxx9HreoyOLy2Gos/sw1DbKe/WoyH3kUuC8aSY0P/wBcYjSUIcIkU0yMYnfIVex+ztq9eD2Dj+lnj8VLchuBngO/2Dot6n9WtenT7iHo/YqcduX6Li1u5aTo3PkfIxIoPWBMyXyEncCtaiflcGO92Z8VysEF6YmCaPyPw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=davemloft.net smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none 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=tsnJjNAe3bZQQWgHanLQ1v9nuDmkOf5mUGE8Ggrg+gQ=; b=toHVxwRChzPIyP2bfpecMVGMYhCtYM7IEGnPlqXg/2jO0D76IDnW3RiY1wAKcBWlBVo+urReocbCl322CPv0lStYXlQo1xomMAlIsgGOjlpGu7QkRsUVE0D/yItTphZEWfgXQLlxNugYsJ9526mPSAea2mR/9VZSV3lYOyGgQ25tZKEV2qnYzzLpwC3c+DifTM07rhw9Axmk0pIzuITHyqNVP4rW//x2rtOWmN3Bp4/n8ktdvUzPc/dil3ciPQiQKHo972SNFZpim2fsNLRa1goEjWg1IsXV7tKrYkO7gEcSVmKvT7TVoAAi2ge3AkqO0WML/l80351T/dV4UVKdAA== Received: from BN9PR03CA0937.namprd03.prod.outlook.com (2603:10b6:408:108::12) by BN6PR12MB1460.namprd12.prod.outlook.com (2603:10b6:405:11::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16; Tue, 20 Apr 2021 14:55:49 +0000 Received: from BN8NAM11FT005.eop-nam11.prod.protection.outlook.com (2603:10b6:408:108:cafe::76) by BN9PR03CA0937.outlook.office365.com (2603:10b6:408:108::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.18 via Frontend Transport; Tue, 20 Apr 2021 14:55:49 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; davemloft.net; dkim=none (message not signed) header.d=none; davemloft.net; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by BN8NAM11FT005.mail.protection.outlook.com (10.13.176.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4042.16 via Frontend Transport; Tue, 20 Apr 2021 14:55:48 +0000 Received: from localhost.localdomain (172.20.145.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 20 Apr 2021 14:55:46 +0000 From: Petr Machata To: CC: , Ido Schimmel , "David S . Miller" , Jakub Kicinski , Petr Machata Subject: [PATCH net-next 07/10] mlxsw: spectrum_qdisc: Guard all qdisc accesses with a lock Date: Tue, 20 Apr 2021 16:53:45 +0200 Message-ID: X-Mailer: git-send-email 2.26.3 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [172.20.145.6] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0af622f7-e21a-45eb-8c03-08d9040c62b1 X-MS-TrafficTypeDiagnostic: BN6PR12MB1460: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3044; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: au+IpYCOexLBGtk6iV3g3hR5IvxAPKkntGwRcXYCm4Q6MSBEBtK9C2qXdbTO5/8DWqhoc+7htuTk0376iOBRLjzjDEPHH3auPJP901Oo67f2EAFgAK5UuNvEkCN/9TOiAogvuHH+xHWfeCCkxJFj+kBRMtCiqwCoTvCQPBoWbqQ24ihwLG/Bd65H2pLCR1OX1tSVKaqj1g3wzo1bYDpCPR5siL8G6ng6GSPe/Q6cSjEj+Uy2uuqjZOyCmZ6No8v3E85Y8ijQ7IxICaHpjQ3vkZbWqIwEKXVVQJOXOC+FIaDww7MGLEZ04yhmfKBMyV8n0hOy0gYXuhbfLlbrOwZZ2TB58OIjMeO2nbPBkpbIpj9bKid7pU/MPFBJnJW83xqr40PwqxDaFqqVWG6PGLnf0L9b0MwgiljBwxT8IyIwQRr/0O/488Q2Wduuwid9JBA8iC1XGXGSOMZEMoO8x9SsO0fLHsBi+WmpgtfQychBeZmvALYgvPrLNhTXuDJaAb3oTsrFUhDgzhKyM3rZt+EZnTMiKgrr7uUDLrSLCBOQbhlbUofXAl+hJYWB49w/wmJCtx3ZkhfhP+hrT0mPtNuIb81RKQnVcGiozbpcFsXkX5Po9XEZzbE7Vd1UGku1qZ0M82e/2IVY+fFZhyxNkaXGjA== X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(376002)(346002)(39860400002)(396003)(136003)(36840700001)(46966006)(8676002)(70206006)(6916009)(36860700001)(2906002)(426003)(8936002)(36906005)(47076005)(316002)(7636003)(70586007)(4326008)(356005)(26005)(5660300002)(83380400001)(54906003)(107886003)(36756003)(86362001)(16526019)(82310400003)(478600001)(82740400003)(2616005)(186003)(336012); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2021 14:55:48.9228 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0af622f7-e21a-45eb-8c03-08d9040c62b1 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT005.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1460 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The FIFO handler currently guards accesses to the future FIFO tracking by asserting RTNL. In the future, the changes to the qdisc state will be more thorough, so other qdiscs will need this guarding is as well. In order to not further the RTNL infestation, instead convert to a custom lock that will guard accesses to the qdisc state. Signed-off-by: Petr Machata Reviewed-by: Ido Schimmel --- .../ethernet/mellanox/mlxsw/spectrum_qdisc.c | 89 +++++++++++++++---- 1 file changed, 73 insertions(+), 16 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c index f42ea958919b..9e7f1a0188e8 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c @@ -89,6 +89,7 @@ struct mlxsw_sp_qdisc_state { */ u32 future_handle; bool future_fifos[IEEE_8021QAZ_MAX_TCS]; + struct mutex lock; /* Protects qdisc state. */ }; static bool @@ -620,8 +621,8 @@ static struct mlxsw_sp_qdisc_ops mlxsw_sp_qdisc_ops_red = { .find_class = mlxsw_sp_qdisc_leaf_find_class, }; -int mlxsw_sp_setup_tc_red(struct mlxsw_sp_port *mlxsw_sp_port, - struct tc_red_qopt_offload *p) +static int __mlxsw_sp_setup_tc_red(struct mlxsw_sp_port *mlxsw_sp_port, + struct tc_red_qopt_offload *p) { struct mlxsw_sp_qdisc *mlxsw_sp_qdisc; @@ -652,6 +653,18 @@ int mlxsw_sp_setup_tc_red(struct mlxsw_sp_port *mlxsw_sp_port, } } +int mlxsw_sp_setup_tc_red(struct mlxsw_sp_port *mlxsw_sp_port, + struct tc_red_qopt_offload *p) +{ + int err; + + mutex_lock(&mlxsw_sp_port->qdisc->lock); + err = __mlxsw_sp_setup_tc_red(mlxsw_sp_port, p); + mutex_unlock(&mlxsw_sp_port->qdisc->lock); + + return err; +} + static void mlxsw_sp_setup_tc_qdisc_leaf_clean_stats(struct mlxsw_sp_port *mlxsw_sp_port, struct mlxsw_sp_qdisc *mlxsw_sp_qdisc) @@ -814,8 +827,8 @@ static struct mlxsw_sp_qdisc_ops mlxsw_sp_qdisc_ops_tbf = { .find_class = mlxsw_sp_qdisc_leaf_find_class, }; -int mlxsw_sp_setup_tc_tbf(struct mlxsw_sp_port *mlxsw_sp_port, - struct tc_tbf_qopt_offload *p) +static int __mlxsw_sp_setup_tc_tbf(struct mlxsw_sp_port *mlxsw_sp_port, + struct tc_tbf_qopt_offload *p) { struct mlxsw_sp_qdisc *mlxsw_sp_qdisc; @@ -843,6 +856,18 @@ int mlxsw_sp_setup_tc_tbf(struct mlxsw_sp_port *mlxsw_sp_port, } } +int mlxsw_sp_setup_tc_tbf(struct mlxsw_sp_port *mlxsw_sp_port, + struct tc_tbf_qopt_offload *p) +{ + int err; + + mutex_lock(&mlxsw_sp_port->qdisc->lock); + err = __mlxsw_sp_setup_tc_tbf(mlxsw_sp_port, p); + mutex_unlock(&mlxsw_sp_port->qdisc->lock); + + return err; +} + static int mlxsw_sp_qdisc_fifo_check_params(struct mlxsw_sp_port *mlxsw_sp_port, void *params) @@ -876,20 +901,14 @@ static struct mlxsw_sp_qdisc_ops mlxsw_sp_qdisc_ops_fifo = { .clean_stats = mlxsw_sp_setup_tc_qdisc_leaf_clean_stats, }; -int mlxsw_sp_setup_tc_fifo(struct mlxsw_sp_port *mlxsw_sp_port, - struct tc_fifo_qopt_offload *p) +static int __mlxsw_sp_setup_tc_fifo(struct mlxsw_sp_port *mlxsw_sp_port, + struct tc_fifo_qopt_offload *p) { struct mlxsw_sp_qdisc_state *qdisc_state = mlxsw_sp_port->qdisc; struct mlxsw_sp_qdisc *mlxsw_sp_qdisc; int tclass, child_index; u32 parent_handle; - /* Invisible FIFOs are tracked in future_handle and future_fifos. Make - * sure that not more than one qdisc is created for a port at a time. - * RTNL is a simple proxy for that. - */ - ASSERT_RTNL(); - mlxsw_sp_qdisc = mlxsw_sp_qdisc_find(mlxsw_sp_port, p->parent, false); if (!mlxsw_sp_qdisc && p->handle == TC_H_UNSPEC) { parent_handle = TC_H_MAJ(p->parent); @@ -936,6 +955,18 @@ int mlxsw_sp_setup_tc_fifo(struct mlxsw_sp_port *mlxsw_sp_port, return -EOPNOTSUPP; } +int mlxsw_sp_setup_tc_fifo(struct mlxsw_sp_port *mlxsw_sp_port, + struct tc_fifo_qopt_offload *p) +{ + int err; + + mutex_lock(&mlxsw_sp_port->qdisc->lock); + err = __mlxsw_sp_setup_tc_fifo(mlxsw_sp_port, p); + mutex_unlock(&mlxsw_sp_port->qdisc->lock); + + return err; +} + static int __mlxsw_sp_qdisc_ets_destroy(struct mlxsw_sp_port *mlxsw_sp_port, struct mlxsw_sp_qdisc *mlxsw_sp_qdisc) { @@ -1277,8 +1308,8 @@ mlxsw_sp_qdisc_prio_graft(struct mlxsw_sp_port *mlxsw_sp_port, p->band, p->child_handle); } -int mlxsw_sp_setup_tc_prio(struct mlxsw_sp_port *mlxsw_sp_port, - struct tc_prio_qopt_offload *p) +static int __mlxsw_sp_setup_tc_prio(struct mlxsw_sp_port *mlxsw_sp_port, + struct tc_prio_qopt_offload *p) { struct mlxsw_sp_qdisc *mlxsw_sp_qdisc; @@ -1309,8 +1340,20 @@ int mlxsw_sp_setup_tc_prio(struct mlxsw_sp_port *mlxsw_sp_port, } } -int mlxsw_sp_setup_tc_ets(struct mlxsw_sp_port *mlxsw_sp_port, - struct tc_ets_qopt_offload *p) +int mlxsw_sp_setup_tc_prio(struct mlxsw_sp_port *mlxsw_sp_port, + struct tc_prio_qopt_offload *p) +{ + int err; + + mutex_lock(&mlxsw_sp_port->qdisc->lock); + err = __mlxsw_sp_setup_tc_prio(mlxsw_sp_port, p); + mutex_unlock(&mlxsw_sp_port->qdisc->lock); + + return err; +} + +static int __mlxsw_sp_setup_tc_ets(struct mlxsw_sp_port *mlxsw_sp_port, + struct tc_ets_qopt_offload *p) { struct mlxsw_sp_qdisc *mlxsw_sp_qdisc; @@ -1342,6 +1385,18 @@ int mlxsw_sp_setup_tc_ets(struct mlxsw_sp_port *mlxsw_sp_port, } } +int mlxsw_sp_setup_tc_ets(struct mlxsw_sp_port *mlxsw_sp_port, + struct tc_ets_qopt_offload *p) +{ + int err; + + mutex_lock(&mlxsw_sp_port->qdisc->lock); + err = __mlxsw_sp_setup_tc_ets(mlxsw_sp_port, p); + mutex_unlock(&mlxsw_sp_port->qdisc->lock); + + return err; +} + struct mlxsw_sp_qevent_block { struct list_head binding_list; struct list_head mall_entry_list; @@ -1877,6 +1932,7 @@ int mlxsw_sp_tc_qdisc_init(struct mlxsw_sp_port *mlxsw_sp_port) if (!qdisc_state) return -ENOMEM; + mutex_init(&qdisc_state->lock); qdisc_state->root_qdisc.prio_bitmap = 0xff; qdisc_state->root_qdisc.tclass_num = MLXSW_SP_PORT_DEFAULT_TCLASS; qdisc_state->root_qdisc.qdiscs = qdisc_state->tclass_qdiscs; @@ -1894,5 +1950,6 @@ int mlxsw_sp_tc_qdisc_init(struct mlxsw_sp_port *mlxsw_sp_port) void mlxsw_sp_tc_qdisc_fini(struct mlxsw_sp_port *mlxsw_sp_port) { + mutex_destroy(&mlxsw_sp_port->qdisc->lock); kfree(mlxsw_sp_port->qdisc); } From patchwork Tue Apr 20 14:53:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 425042 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2247BC433ED for ; Tue, 20 Apr 2021 14:56:08 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DC34D613CD for ; Tue, 20 Apr 2021 14:56:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232944AbhDTO4i (ORCPT ); Tue, 20 Apr 2021 10:56:38 -0400 Received: from mail-co1nam11on2073.outbound.protection.outlook.com ([40.107.220.73]:3798 "EHLO NAM11-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S232921AbhDTO42 (ORCPT ); Tue, 20 Apr 2021 10:56:28 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TTAPz9m+VJP62ORGbriX/8yHwTeXR9uAIl4k1sYjmBryeyw/FwwUsq8XhmwZ31appvdfS1oFB+J9ZhUF1m5wgnAqNY7Q3ky9uL1gBljKTZF03F+TKjrj/3P7lAoftyIw09BNBtDp9vDIC9arvblEq60BqLJbcQppBqta/uOu/NSZXToApNC0oTPI9Pf9qthWRJ8UA7huckv2d9rwpyxsYwy/dQu8ZYzwyjlmNQ0fuve0Sz5sCwV8gfuZJdVWY2EjnNvMxB+cLCuGqWqTWVZE6P2JH+Jg9ZVBQ69bU6G37BxpK+8HLI0/EpKx9+1negFUWQP9fD8xyONU2wE4/Gla3A== 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-SenderADCheck; bh=4r/1BfymZJgmUsu4HnHX8jy+rG6AsDC5bTm3aU2+Afo=; b=i2yWDgPWd6WryqU0z1pQgGRHpH+NSwgyoKbCgOPc7uaI8kkGdiC5FMH76ae1/b5tIktEOI8uUJL39odsX4UxsUyAWN+kXG5F7LW7q7nRhSS9ZIMF3paMIQtJoG4+58sIL4qwsv4+P+Eqv1MkPg1esxUOHwiqW9pIJN7uF60tErvw1eFpwmT9Mg2uCJxjRredtddTGDC7CHtSWr5JM/UtpXzQIWbDqbgIzD74iGxRKVzQINKJxC4VJ+KQTKjBnFqcph+lh7ROkZ213bzzgPdoTwFT5pcoxN80RBs1/BaWvqLMhaG1kRSaSOnwv0/HeUF7yJxVArY/BChDqHP0xBLNGw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=davemloft.net smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none 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=4r/1BfymZJgmUsu4HnHX8jy+rG6AsDC5bTm3aU2+Afo=; b=TvXDM3vFu1OqLDxQHuIl/3TXJJIIOoVXznpyf5RNO7+PBAl4LSlNoQGmMOPOkcUkW/Ie+M4dKdavg7ejQ44VgR1RETzNY/10xpxvH3LFxgfLilT+Syv0ROL4Kc/0s0JrReDMOhbDjb5GD0DbUSn8G3GEd43kqQCyxrS/y91uRk16ZvqFYsrqdBRIcOwKaCxK0JwV+b84ypImssxR7z8MMw7vsUkyaZDo5DnWTZwh4yzDzclVKzNS1OC9Gp8Oas2/suV50v/MRzVOlq/oPRlu68AOhgCekmUK1bq7QIvuGMTjQ8Wu51rWhZwGvooPwWKmh9uxjXnVgkgkzY6pCSEolA== Received: from BN9PR03CA0341.namprd03.prod.outlook.com (2603:10b6:408:f6::16) by BN9PR12MB5050.namprd12.prod.outlook.com (2603:10b6:408:133::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.20; Tue, 20 Apr 2021 14:55:56 +0000 Received: from BN8NAM11FT024.eop-nam11.prod.protection.outlook.com (2603:10b6:408:f6:cafe::81) by BN9PR03CA0341.outlook.office365.com (2603:10b6:408:f6::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.18 via Frontend Transport; Tue, 20 Apr 2021 14:55:56 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; davemloft.net; dkim=none (message not signed) header.d=none; davemloft.net; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by BN8NAM11FT024.mail.protection.outlook.com (10.13.177.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4042.16 via Frontend Transport; Tue, 20 Apr 2021 14:55:55 +0000 Received: from localhost.localdomain (172.20.145.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 20 Apr 2021 14:55:52 +0000 From: Petr Machata To: CC: , Ido Schimmel , "David S . Miller" , Jakub Kicinski , Petr Machata Subject: [PATCH net-next 10/10] selftests: mlxsw: sch_red_ets: Test proper counter cleaning in ETS Date: Tue, 20 Apr 2021 16:53:48 +0200 Message-ID: <1f44a5666de7cb9da7102e4b585d732814d51a73.1618928119.git.petrm@nvidia.com> X-Mailer: git-send-email 2.26.3 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [172.20.145.6] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ed80904c-c083-4ddf-e174-08d9040c669c X-MS-TrafficTypeDiagnostic: BN9PR12MB5050: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4714; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0UvBcvGRxpcXhRUKotFrLAvmr5WdNtTFKlIwst5m9N/Xrb2OJqwt8hxn5oe/9Fb4VkWxqKfLJYdntoFhnQsTjcvdFs/4PebNvadI0ZaWjslY8Hs2xnkCf1SGJs+jjLDoZ5Qy7Te1E5ItZfXMzNe4KS6AraAKrl0LXEXPzVNu8vJnJZ8dmoGLixd6CJZI9YIWH4iSE5t9qOl7M2f3DhQHLLPWtAWEm2am249U8lNGi6gOu/rj/NFn+9cG2hRwuFmg/mpiakXCjJvatHRh/GEyQ2JWMHaECoATfzhBVzlx9BFgacXrAQeuUkBhXkQb8qfmITR3hXvCRV3lM0v2ilqHIqcg0OkFWjdYAINd7QBrhwMYQidl0dIogAq2S9AcpYjk+njqpImsrf2gTSx1Y4AwQ3m2JLszYJ+uVHIMt3McAvorJNiOvbX4w9lQCNJYjI9hpBKYtRaSoYhRQqc7dv1pKRsllHlHk0SxwhEr3lbiOAw6h+AQFqUUgrCG9FwVG64eQ2x9Xd+TfkkbvNAlfEdpjjJJn4BM2nh50N4fXAbe7n7CSbgL10HxNn3S56q40Oeb/leIi8sLo5KZEC/n0nKrdtd6w+aiUlfpa8RVKH8FUwteVOzZkgRWxQXSQRcJ70+50Uxkf/xfSLUuGKsaW4mWdz7RZ3MpmQZo5uUtgzG0vRM= X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(39860400002)(376002)(346002)(396003)(136003)(36840700001)(46966006)(2906002)(6666004)(36906005)(26005)(186003)(16526019)(316002)(54906003)(2616005)(47076005)(8676002)(8936002)(82310400003)(5660300002)(107886003)(70206006)(4326008)(70586007)(478600001)(356005)(6916009)(86362001)(7636003)(36860700001)(336012)(426003)(36756003)(82740400003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2021 14:55:55.5412 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ed80904c-c083-4ddf-e174-08d9040c669c X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT024.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5050 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org There was a bug introduced during the rework which cause non-zero backlog being stuck at ETS. Introduce a selftest that would have caught the issue earlier. Signed-off-by: Petr Machata Reviewed-by: Ido Schimmel --- tools/testing/selftests/drivers/net/mlxsw/sch_red_ets.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/testing/selftests/drivers/net/mlxsw/sch_red_ets.sh b/tools/testing/selftests/drivers/net/mlxsw/sch_red_ets.sh index 3f007c5f8361..f3ef3274f9b3 100755 --- a/tools/testing/selftests/drivers/net/mlxsw/sch_red_ets.sh +++ b/tools/testing/selftests/drivers/net/mlxsw/sch_red_ets.sh @@ -67,6 +67,13 @@ red_test() { install_qdisc + # Make sure that we get the non-zero value if there is any. + local cur=$(busywait 1100 until_counter_is "> 0" \ + qdisc_stats_get $swp3 10: .backlog) + (( cur == 0 )) + check_err $? "backlog of $cur observed on non-busy qdisc" + log_test "$QDISC backlog properly cleaned" + do_red_test 10 $BACKLOG1 do_red_test 11 $BACKLOG2