From patchwork Thu Mar 26 06:37:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 221823 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=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, 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 05B43C43331 for ; Thu, 26 Mar 2020 06:38:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CCC4E20714 for ; Thu, 26 Mar 2020 06:38:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="cK+TNFyp" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727695AbgCZGii (ORCPT ); Thu, 26 Mar 2020 02:38:38 -0400 Received: from mail-eopbgr30065.outbound.protection.outlook.com ([40.107.3.65]:59543 "EHLO EUR03-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726213AbgCZGid (ORCPT ); Thu, 26 Mar 2020 02:38:33 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lskYZjw31fY/+ojKQJQ8gi/kINtevt0BJq+5Egu1DhMEx8VoQdKFLo0NOG+xDBvq2BwfLf8pJJ1vugBydNbw2IgtnfVMPICVNE6kHm7bqxxfvHfGAZuupdSVkaRJKaCrE4N/aAQwgV1STMQXnr4ow05JR67A2QrBotM5oS8ukb78uSphu45smIZjhVRBFOVwmRYmtClgAOFR0feTboiXMMeUE0EEIyxjyO6UK7ZOOR2YVJ1Xe7+dOu0lWL0pU1rNL6fBAGEElbT6tfoTipGMaabBPtdQJCRjFgNbnXff8IYZVrIw0cIpG9LawRPQmutGVRPntqYiYlsnVxvnWt7tRA== 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=A+/iqBQSWTZOqPKOiJ6O1lINWegx0IqDguSVb1gkD3Q=; b=gtBHYVWLDUhK/2iIRrCqzUyWu80/whw8VX1SPKlRJIAbb3FP3hcI3AKttYd5JgGTZzSP5CJ0q4yg7nJi1LPvu7nPXRVirwILdYVwfiKfGUQt9muzARenBIhzE29vZsc6EOeWpXVLPGq3s0/utaw48sA0/OzJEJhgL3IFa6swMomzjS7wnFLr6RULhl6IpFUM0RUCLzyBCNnaYtQAC7CiPhZzEpnZz4k/srVV0g6VGI84zmJqR3JlJ3Nxy+31KUWSeQrRTQExGkGghFADacwxu+rBAbRVXxUFSFDVzR/0SwyPL3rLrkujtjogFUIdyXDBN52GPz2frko1rKJ3hILyJg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A+/iqBQSWTZOqPKOiJ6O1lINWegx0IqDguSVb1gkD3Q=; b=cK+TNFypDynhgAUTKRebh1n++q4RMA8NVxIdxnDMM4GpE9N68xuWLNKnkG9Wd56+qNieXetMOK+Nvt2/HLM77YArTJp/XK/uwRWHhpFtLT+jJMwwc1Un6NMRqnoMu9BionulnNH16QKLbTFhxnBJeYkgLr4DtafFqsCo966hXk0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (20.177.51.151) by VI1PR05MB6479.eurprd05.prod.outlook.com (20.179.25.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2835.23; Thu, 26 Mar 2020 06:38:30 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2%7]) with mapi id 15.20.2835.023; Thu, 26 Mar 2020 06:38:30 +0000 From: Saeed Mahameed To: "David S. Miller" , kuba@kernel.org Cc: netdev@vger.kernel.org, Jiri Pirko , Dan Carpenter , Leon Romanovsky , Saeed Mahameed Subject: [net-next 01/16] net/mlx5e: Fix actions_match_supported() return Date: Wed, 25 Mar 2020 23:37:54 -0700 Message-Id: <20200326063809.139919-2-saeedm@mellanox.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200326063809.139919-1-saeedm@mellanox.com> References: <20200326063809.139919-1-saeedm@mellanox.com> X-ClientProxiedBy: BYAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:a02:a8::33) To VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from smtp.office365.com (73.15.39.150) by BYAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:a02:a8::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.19 via Frontend Transport; Thu, 26 Mar 2020 06:38:27 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 924a8d55-4201-44b3-185c-08d7d1504bb1 X-MS-TrafficTypeDiagnostic: VI1PR05MB6479:|VI1PR05MB6479: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4714; X-Forefront-PRVS: 0354B4BED2 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR05MB5102.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(39860400002)(366004)(346002)(396003)(376002)(136003)(478600001)(107886003)(52116002)(6512007)(4326008)(86362001)(6486002)(8936002)(54906003)(6506007)(36756003)(1076003)(81156014)(81166006)(2906002)(316002)(8676002)(6666004)(66946007)(186003)(16526019)(66556008)(66476007)(26005)(5660300002)(2616005)(956004)(54420400002); DIR:OUT; SFP:1101; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +BVoa82beQ+7aq5p/TYIGECpRBl05FHjR3nFrLrRs0qKvQBBDOcdB5OxpzMD3kQLbu0RFlMt6B+cxcKzZsLh0jkAlxioWM7WN3kfVP2jmgfPtEZq0NIEoh1K9fjpX7k0habqB9Qg6j0EMfmSaSA8DpnqPJHlynei4fw6PEOnog0OFvc/v6owU7zabPJkob4FwZdrLWYnagHD5g1jnq79ciaiR7HAwGtKS3rgk0VSXbb4GW1nqGPF+aXYXyHMWMgc2ZDglafotD5c2wBm7yyaVF/i9eIBeylgvM2PzlMjCaRsyYeu6mki90vVYLNaDJsH/Yc8wefeHYkSiGHQuqrbhSG+UYSkHCyNV9ZRKFd/rvGwWGHYBemkcP0kMx67f4tDLyolanBEkoS5vXULJwsAMOmRDnYFLLNryuDvJTBw5dsCtSTMXskfAlY8ukMlJQnzDQCVPgWIzcWO+D6kIcPKzQLQvD4vDTeFdXPAPaUCUS4scAOb6u30n3CMd8mhLHrk X-MS-Exchange-AntiSpam-MessageData: jVANMDWjJ++lWj+V9eBXwyVeW1wRtwBZOv1dm5hyB5QZ9zXxoJoOwibgkAsRjQzXagupCUXUN8lQpyiEqiA3sX2nehM6cOPFLNpqkUbiO45nnzps3zjVDZYhRu2a8cr7cWVymQhKxU7a2GCCFSWpFg== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 924a8d55-4201-44b3-185c-08d7d1504bb1 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2020 06:38:30.0686 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ECBXye9xFSVL215H/rKoAe3bHomrZqCOvLXI069qaZ0OIzlhtllvuENRGhYlxUi9HtMsp2a9gut4Epn4ilZMdQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6479 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Dan Carpenter The actions_match_supported() function returns a bool, true for success and false for failure. This error path is returning a negative which is cast to true but it should return false. Fixes: 4c3844d9e97e ("net/mlx5e: CT: Introduce connection tracking") Signed-off-by: Dan Carpenter Reviewed-by: Leon Romanovsky Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c index 901f88a886c8..c7ed468db3e0 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -3057,7 +3057,7 @@ static bool actions_match_supported(struct mlx5e_priv *priv, */ NL_SET_ERR_MSG_MOD(extack, "Can't offload mirroring with action ct"); - return -EOPNOTSUPP; + return false; } } else { actions = flow->nic_attr->action; From patchwork Thu Mar 26 06:37:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 221822 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=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, 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 CF71FC43331 for ; Thu, 26 Mar 2020 06:38:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9EE9A20714 for ; Thu, 26 Mar 2020 06:38:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="gfWqFj79" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727717AbgCZGil (ORCPT ); Thu, 26 Mar 2020 02:38:41 -0400 Received: from mail-eopbgr130079.outbound.protection.outlook.com ([40.107.13.79]:8291 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727683AbgCZGij (ORCPT ); Thu, 26 Mar 2020 02:38:39 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bQ+0P6hhsX91JyMqaYm3CcR+szqYFQQ+MwfxEdnT3f2h5IK0ZFBbo7tgz8nqJK0cpiFs8uqDbk/mKW09eZ47YJekn0rGyksA2vHwUvqfx7FcWI4gtMx0igX3AXupXkeulRsIvDb9pZGFiBrhjchWI0a1CoVBq8TlO0F88vwjX+rU9qLg8ZF4VUTZ0lchFPxKVM9SFus5glwFoKD7w/67ZvbdUhBNtMCF2mUxZTisbPiiEMnI3RDN1aNMZoStVvyuw//WLZbivHZAzbhsuSd6YSy4XTjLTnoiqYctTg0oW8SgLbDHxa5BphW9kB6e3A2bF8+cPSxcLdHxnTfpSiEVdA== 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=Xb57oRtK9EQghMGG+s/3k4PTZcyfPh5B9PBSecITJQg=; b=LPfTcVkX4gjYF+MZpVObrpwDScGXVA7ckH2pVJndof/sLI3uj/Qm2msCC5F/xWYZQdC3aPRybGAc9yXuEZuw7rhJuPruHFwroeH/HQfr1wL+FbI5Rk5dPSnqRMAPMtHU2XBowMatHDlMhZvEkKWAi1Dvc1nzLhfMspooulDgZRi+AdGAz7mEoK0SvrLrIf2O8CzyU72Pls6s0i7nVW8DK9wrW+u3L8MkbB6DFm7qDurJMt+XeJYVPRY0xR8FTz6M5PB55gn6kEUdqaWENYDFp7Vng1h3w2k4DK7sP1T75AHIvb5dycjgZTWNa3RhzTddWelyRFLeVKhH//uYP+vCXw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Xb57oRtK9EQghMGG+s/3k4PTZcyfPh5B9PBSecITJQg=; b=gfWqFj797P50X07L+My/cpNOcglfdlJDlnfKWBNpSKHin/dDNZGwxummn9kUnuGzD09bSQXfBaBwSO9VGPocgwZO1m80tF0YylelFg8h2e78cm4ysLtMlXezTgW4oLpywi8sW2Je9e05DHw7RXvKEys6NPNJV2IacT/9RSJ2aRY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (20.177.51.151) by VI1PR05MB6479.eurprd05.prod.outlook.com (20.179.25.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2835.23; Thu, 26 Mar 2020 06:38:36 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2%7]) with mapi id 15.20.2835.023; Thu, 26 Mar 2020 06:38:36 +0000 From: Saeed Mahameed To: "David S. Miller" , kuba@kernel.org Cc: netdev@vger.kernel.org, Jiri Pirko , Paul Blakey , Roi Dayan , Saeed Mahameed Subject: [net-next 03/16] net/mlx5: E-Switch, Enable restore table only if reg_c1 is supported Date: Wed, 25 Mar 2020 23:37:56 -0700 Message-Id: <20200326063809.139919-4-saeedm@mellanox.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200326063809.139919-1-saeedm@mellanox.com> References: <20200326063809.139919-1-saeedm@mellanox.com> X-ClientProxiedBy: BYAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:a02:a8::33) To VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from smtp.office365.com (73.15.39.150) by BYAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:a02:a8::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.19 via Frontend Transport; Thu, 26 Mar 2020 06:38:33 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 77a7033d-79ac-4243-0bbd-08d7d1504f28 X-MS-TrafficTypeDiagnostic: VI1PR05MB6479:|VI1PR05MB6479: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1002; X-Forefront-PRVS: 0354B4BED2 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR05MB5102.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(39860400002)(366004)(346002)(396003)(376002)(136003)(478600001)(107886003)(52116002)(6512007)(4326008)(86362001)(6486002)(8936002)(54906003)(6506007)(36756003)(1076003)(81156014)(81166006)(2906002)(316002)(8676002)(6666004)(66946007)(186003)(16526019)(66556008)(66476007)(26005)(5660300002)(2616005)(956004)(54420400002); DIR:OUT; SFP:1101; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QpjO4C79mMKo0HUCP6HBQJG20q7/XwgovzXiAUxx8ED7R+xx/oY2jf3msqplImmrsgNAlzve+hAnCrdJVQl4noDV2qmwBpzQ0BADAJWSpNSQLASjay9fRWoZvU9cT1FvvV5J8dmoAVm0WRd1cA1E0YLFQAY+0D06S1XyI61ufj+T9VvXOTdgWJh6fXBosUS+IyReTGl6YBzBD7wVx6U9MRcwLcobz6cOfvIgdUFtUmsSk1YrD3ouvufbolAZnsQsuuxgjaJ6zmiec65cnYUrnmFOCePc/z6Zpg3pwn1u6mtzwYKzCxHUi2Bpt89UXDDxZMNcfcBT8lz7DobnQM14Wdyiwk6F6HHAfNn8q8q/AV8B/jvlFNoTlXaptpJfXoATrv//kX50UqEKDNpjpFA3RSP5aGMzLldtofWaJqCaDZYH1mSP7k2HZOgB+nNQawzq+Rp68vZ3X6YnBza3kzSU6VolhrOytoFPznuGQK8FA5g/cDkqSk7F96W9ic2hZVKd X-MS-Exchange-AntiSpam-MessageData: YwbQ2WEOFdf5RwYpokegKXHLKmhyuNG9SjrjpWCxRi60bkS6cycwRyB+Cno+qbNDpbiWTzNKBUdXkd3S1ET6Og5DSPoGB1GAqCJbETbd/EVL0ZZt3q8gEZ/mwwxCqYDwTfdqurSAul0IoCbtN+kyWg== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 77a7033d-79ac-4243-0bbd-08d7d1504f28 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2020 06:38:36.0343 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: PbkXmT4+HrsfZ0YC00cpI7ym392QZdW9YwHilnlY2avBBh/bs2FSVi1TFc/h5suyLnGt4nkA0iOhREEieM5M0A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6479 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Paul Blakey Reg c0/c1 matching, rewrite of regs c0/c1, and copy header of regs c1,B is needed for the restore table to function, might not be supported by firmware, and creation of the restore table or the copy header will fail. Check reg_c1 loopback support, as firmware which supports this, should have all of the above. Fixes: 11b717d61526 ("net/mlx5: E-Switch, Get reg_c0 value on CQE") Signed-off-by: Paul Blakey Reviewed-by: Roi Dayan Signed-off-by: Saeed Mahameed --- .../net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index 0b4b43ebae9a..cba95890f173 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -1069,6 +1069,9 @@ esw_add_restore_rule(struct mlx5_eswitch *esw, u32 tag) struct mlx5_flow_spec *spec; void *misc; + if (!mlx5_eswitch_reg_c1_loopback_supported(esw)) + return ERR_PTR(-EOPNOTSUPP); + spec = kzalloc(sizeof(*spec), GFP_KERNEL); if (!spec) return ERR_PTR(-ENOMEM); @@ -1477,6 +1480,9 @@ static void esw_destroy_restore_table(struct mlx5_eswitch *esw) { struct mlx5_esw_offload *offloads = &esw->offloads; + if (!mlx5_eswitch_reg_c1_loopback_supported(esw)) + return; + mlx5_modify_header_dealloc(esw->dev, offloads->restore_copy_hdr_id); mlx5_destroy_flow_group(offloads->restore_group); mlx5_destroy_flow_table(offloads->ft_offloads_restore); @@ -1496,6 +1502,9 @@ static int esw_create_restore_table(struct mlx5_eswitch *esw) u32 *flow_group_in; int err = 0; + if (!mlx5_eswitch_reg_c1_loopback_supported(esw)) + return 0; + ns = mlx5_get_flow_namespace(dev, MLX5_FLOW_NAMESPACE_OFFLOADS); if (!ns) { esw_warn(esw->dev, "Failed to get offloads flow namespace\n"); From patchwork Thu Mar 26 06:37:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 221821 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=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, 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 F3ED6C43331 for ; Thu, 26 Mar 2020 06:38:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CB3F220772 for ; Thu, 26 Mar 2020 06:38:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="bz+XlOTX" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727731AbgCZGis (ORCPT ); Thu, 26 Mar 2020 02:38:48 -0400 Received: from mail-eopbgr130079.outbound.protection.outlook.com ([40.107.13.79]:8291 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727683AbgCZGir (ORCPT ); Thu, 26 Mar 2020 02:38:47 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UDbIs4iWQhLvQnelTiew/H4AV4XRaA1N8WqsWjWDUqxQw2iPtJmsJOHfuYQzADHw5VdmV3SnBzcXbDpUHcqB1Kua7ocORP3sgwIhczvTdg80THbpJRu+0ZfGzAIA15UMdLAfMdNRygE9pGs7HWUXp32VqQOEiQ536zVVTDtd4jsxxIuO8UHkpH0eI1olcTqrHSgGpaznQi0UyhEacA5xPi1kmXnvTNv4U/mKSRp2uGAfmzHoEyvsVN2nLa2tniXOPvW3YVHLq5R/5gFAFQ7SdSJBWIeyv4VTuYqWYsyyd/UaQmIZJDKWaHr3eQK2r6jMgDR36zS3ZNtMKP5hn072tw== 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=/eYuAuQvb0z2T/l9iYZl06nFeeTjsjek/wezmh7KWjk=; b=dUzARtegJUOnfs1+Sej6R2icbKvr/f7/drcDnfIU84edTcv3Lhv0/slZlKOGcqeag8TPdsMO13Sy5v6IBRUbKanRNYGmEsFPX01m25BxYnlL0/UVha3M1LM9mOKpJCKwCIF7MvKAYThDjuJW/4fWZLjaqrSrRMKvyY6ostd0ytVlPwkvRBj41R+Oqb9IaMPx4Ex6v45UWuSY02tSsRiWBSK3Upw71e/YjdIg6oiih4GXDEui04hEF44Xr/YmAnOON+i1rM5i1Ko3OhZgEfVlWxj728nqOAQ1/vC6dZOyKnCHXhunRHeE9Sv1dhGy3rzJSeVHXqzs+1UBkBVG4iXPzQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/eYuAuQvb0z2T/l9iYZl06nFeeTjsjek/wezmh7KWjk=; b=bz+XlOTXyjLhmoD/ENok9IPE88oCzvrDM4TPoZ3WKFwQ+6l9nma6DXDUwVovWyiYQPCQc0Rjv5Q+KV8mAqfkNc+rXk1f6xe3RsDMbfrJZvpmM0YxRXJs0Qlg/2gM8pukhsN4tr9qVBVk+oznDxJPSiQBEz3kyInAHFPwJ3ziwRE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (20.177.51.151) by VI1PR05MB6479.eurprd05.prod.outlook.com (20.179.25.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2835.23; Thu, 26 Mar 2020 06:38:41 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2%7]) with mapi id 15.20.2835.023; Thu, 26 Mar 2020 06:38:41 +0000 From: Saeed Mahameed To: "David S. Miller" , kuba@kernel.org Cc: netdev@vger.kernel.org, Jiri Pirko , Roi Dayan , Paul Blakey , Saeed Mahameed Subject: [net-next 05/16] net/mlx5: E-Switch, free flow_group_in after creating the restore table Date: Wed, 25 Mar 2020 23:37:58 -0700 Message-Id: <20200326063809.139919-6-saeedm@mellanox.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200326063809.139919-1-saeedm@mellanox.com> References: <20200326063809.139919-1-saeedm@mellanox.com> X-ClientProxiedBy: BYAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:a02:a8::33) To VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from smtp.office365.com (73.15.39.150) by BYAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:a02:a8::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.19 via Frontend Transport; Thu, 26 Mar 2020 06:38:39 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 03048f4b-2611-49c7-cc78-08d7d1505289 X-MS-TrafficTypeDiagnostic: VI1PR05MB6479:|VI1PR05MB6479: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:949; X-Forefront-PRVS: 0354B4BED2 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR05MB5102.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(39860400002)(366004)(346002)(396003)(376002)(136003)(478600001)(107886003)(52116002)(6512007)(4326008)(86362001)(6486002)(8936002)(54906003)(6506007)(36756003)(4744005)(1076003)(81156014)(81166006)(2906002)(316002)(8676002)(6666004)(66946007)(186003)(16526019)(66556008)(66476007)(26005)(5660300002)(2616005)(956004)(54420400002); DIR:OUT; SFP:1101; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qG6W4h9XJI6+wtj2S6zUJQCpd6E3ZwT+8i4rR69n3UbfHCjhGmo80Lft+mrD8kxJccjFrK5coj8HlyzekCXf817TqMrQrJNQdU//E66jNgfuAzLlq+JpYUYI13/76qh7v6etoxAttCYZNIHzWXgjHx2yBRJyqWzaqsMNJGkNm6EOHNAColKbiNQu3+HFejk5IQ5Usk3yWTW1jkBzSvj1W3ofMChR7i2ZkvjnNOwaNUSGg9tIq5oz2ZakTLljdg8V74rvGF5docnZUp43wdyQieXdOdRCoDKUUkcVHWTDeifnL4QE+Xk+sPRY6p/WTepydeEhgvZ+hYionMgIaqv20X3uuNGU+rqAFX6pofW0fSctPgXzEYo/LHA5fFiI+QrJw9HWAtOH6+BmsmxMR/4WC9OoCZ1CwjqMDblyzjTJRc8ff9BZcwXql7mT7xNqYVN1fzecRiKywgEpnvKmc0N+nEo40un5x92epyj9Ay3hRZP1Kwwg9x0Odp8iaoKsu+tJ X-MS-Exchange-AntiSpam-MessageData: v60jNelzRhBIkzDraaQ3ANh9zUT49BJFNJKm3v5v7uY0Zv550jPlpMGUh1CTZqPh9nhpxQgdsXaZU5kAz3IZD51NQuX1mdvbcZWa5ULk5AaF23x/lzS2TaAGwndMZoZVtrX7r4iz/uXf+qdQ7BVpiA== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 03048f4b-2611-49c7-cc78-08d7d1505289 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2020 06:38:41.2153 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 30fXxYifbuvu7QXQUec3YztiNC8Nple9V0zT5eWtu0O9PLcaaylXgtGd1G5QCQ5VobynpxuM7yEQFWfF1BEVBA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6479 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Roi Dayan We allocate a temporary memory but forget to free it. Fixes: 11b717d61526 ("net/mlx5: E-Switch, Get reg_c0 value on CQE") Signed-off-by: Roi Dayan Reviewed-by: Paul Blakey Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index ca6ac3876a1f..088fb51123e2 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -1566,6 +1566,8 @@ static int esw_create_restore_table(struct mlx5_eswitch *esw) esw->offloads.restore_group = g; esw->offloads.restore_copy_hdr_id = mod_hdr; + kvfree(flow_group_in); + return 0; err_mod_hdr: From patchwork Thu Mar 26 06:38:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 221820 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=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, 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 CE8E0C43331 for ; Thu, 26 Mar 2020 06:38:53 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9BF91207FC for ; Thu, 26 Mar 2020 06:38:53 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="cv7rMk5P" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727750AbgCZGiw (ORCPT ); Thu, 26 Mar 2020 02:38:52 -0400 Received: from mail-eopbgr130079.outbound.protection.outlook.com ([40.107.13.79]:8291 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727683AbgCZGiw (ORCPT ); Thu, 26 Mar 2020 02:38:52 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jwq/twi4qrixYF4IxFhCjlJODAsYnYoCFj+DJpSq3kAbWGhG46V2uDGeeXNFAczwKYRwuz2MuUu4nIjPhK6bDcSQlky//oMGMA8Fo6k0rzJhNdQI/sIUJ3P6N2uWqqG5VPMfIJgS42ZmzVV5vZ4MzOvWvj7T4WqZfhkqyLLwSWeYXp5Va+QJwU9Xbvn+JSsiPlSBPboiBFiSbe7s3yOq/OVaV3Gea5bMbZf+BXa09vZdCcgszli01F525/CCbXfiKV/ZSTpJLwz61RQKA0UzHVp+bxTQqLUJD4QxKsV57dVOEP4apVPZMfayP1Mi3Kco+HvO3vTK+e+0Ey54VMohHw== 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=s1DzGvJlqwYty7zAfcKImXZ6bAd5YmZIf2sKvFJ0nyc=; b=S5vv+oBc0+xBF9VwdA20M0n9a65F566oQ/7VstOrFvzgy6C5D+AiZ8tt+44nv5zrzxv1+H/vW/11BhcZ5kzTzNPT6vKBToCMxp6/YqzQ9hzb0uw2p9aSfadCwdb5pcVd/WrOPAs8JAkh8W1Nx/dhdC9hfu7LGRmknAq8VbV1Nvyvj1qrS1snpHajurYaPdCOf63TCguXFhfJjWKWWOLhQOALBRGTIdUqWDeYEnJcHOTswA1G3hPIW2rNtEy5Dq24P0R9zqBYmwX8PQ/RWKoVNWG/gdV2gVLk2l4f2SQU1Adq2L8Ki4qJM+fWneOkoFOJGctQl+0n15u384lWPMlXYA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=s1DzGvJlqwYty7zAfcKImXZ6bAd5YmZIf2sKvFJ0nyc=; b=cv7rMk5PeM3YzBdCzQsKrZvj6s55JabirFPVza3vLAfTepdRHlXbKbG6z6RoQ8plprWwkrujpMx+bZjH416XL+xKhmWwW6Gy7h7UGGpueFJTJXWAF1hz0spvdU5IINKsQIr+RMIwmQXtYMXZBRBFKTaJaWmfY4o3gwcnPmhxkBo= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (20.177.51.151) by VI1PR05MB6479.eurprd05.prod.outlook.com (20.179.25.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2835.23; Thu, 26 Mar 2020 06:38:46 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2%7]) with mapi id 15.20.2835.023; Thu, 26 Mar 2020 06:38:46 +0000 From: Saeed Mahameed To: "David S. Miller" , kuba@kernel.org Cc: netdev@vger.kernel.org, Jiri Pirko , Eli Cohen , Mark Bloch , Maor Gottlieb , Saeed Mahameed Subject: [net-next 07/16] net/mlx5: Simplify matching group searches Date: Wed, 25 Mar 2020 23:38:00 -0700 Message-Id: <20200326063809.139919-8-saeedm@mellanox.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200326063809.139919-1-saeedm@mellanox.com> References: <20200326063809.139919-1-saeedm@mellanox.com> X-ClientProxiedBy: BYAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:a02:a8::33) To VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from smtp.office365.com (73.15.39.150) by BYAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:a02:a8::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.19 via Frontend Transport; Thu, 26 Mar 2020 06:38:44 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 56dd245d-6aa0-42bd-7181-08d7d15055c3 X-MS-TrafficTypeDiagnostic: VI1PR05MB6479:|VI1PR05MB6479: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2657; X-Forefront-PRVS: 0354B4BED2 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR05MB5102.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(39860400002)(366004)(346002)(396003)(376002)(136003)(478600001)(107886003)(52116002)(6512007)(4326008)(86362001)(6486002)(8936002)(54906003)(6506007)(36756003)(1076003)(81156014)(81166006)(2906002)(316002)(8676002)(6666004)(66946007)(186003)(16526019)(66556008)(66476007)(26005)(5660300002)(2616005)(956004)(54420400002); DIR:OUT; SFP:1101; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gQKlx+/S80xgci0PcNRxj+Vug/GcF9/SZGSIDNIrP9vvWHY2Zk6eJAt7FUNrYzJ2vi6YZnoOvwN1QoqjbUOs1GA6gP86PWefn6ofgS9rmAL7H38cdLvxqoVLzbXNWC6FQNzpiHZkn93YGW00iaTs5aJvM3qg+Nh3HyGTvJNHtu51VHF9AhUhoZFyZU+rLNPZe2w4wVh75xPGRMPnN3fqDVOVhYpYZPsSG6B+24MnD0QUYPTj/v6dNY5FMRhRGs8puFDBS4NJ0nk1PRzLfcdH6SWMABiPGAJRzCkWZB2GxCkBXbckxCkp9513Tgsc6WCZi6d5XEeZgP3bC+uszpV/SymqHtWd++hLcwtXwHg0CGfKoNSh2cWbDtvttcGbArElJ4BnfNruTwoiA7mGRAuDC19o/J8cIcWV+Qs6EolrByuzm4//5iT2X39AmNSoHJtzr5xcXtOwR8NONoNmCOgQKhbvteDmIuu1NYAPlFS3mZE8zQwfUtBf94w2D2qNRI78 X-MS-Exchange-AntiSpam-MessageData: ldjBm2whCM5ulpaBvS6zSEoBlvioVWikrlVhB5U3mQ6TQw2sFfz7+7bthwPwnwfXhE0QwlOd2MCG+ClTFFftltDA5BZIlQoXnRbZzVKP1KtgkH4/6PSodvcUydtVr6AVYUWjNVM7Rapwdlq8KEbkaw== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 56dd245d-6aa0-42bd-7181-08d7d15055c3 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2020 06:38:46.4714 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: oHsL+QpbuE65mAT6pIpti+O+N2d6JAD1uFuicFvuFvsM98sg++TLS9VaOncv4RS/fHyVzmplZbnnMbOnBijUfQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6479 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Eli Cohen Instead of using two different structs for searching groups with the same match, use a single struct and thus simplify the code, make it more readable and smaller size which means less code cache misses. text data bss dec hex before: 35524 2744 0 38268 957c after: 35038 2744 0 37782 9396 When testing add 70000 rules, delete all the rules, and repeat three times taking the average, we get (time in seconds): Before the change: insert 16.80, delete 11.02 After the change: insert 16.55, delete 10.95 Signed-off-by: Eli Cohen Reviewed-by: Mark Bloch Reviewed-by: Maor Gottlieb Signed-off-by: Saeed Mahameed --- .../net/ethernet/mellanox/mlx5/core/fs_core.c | 41 +++++-------------- 1 file changed, 11 insertions(+), 30 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c index c93bd55fab06..a9ec40ca7893 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c @@ -1577,28 +1577,19 @@ struct match_list { struct mlx5_flow_group *g; }; -struct match_list_head { - struct list_head list; - struct match_list first; -}; - -static void free_match_list(struct match_list_head *head, bool ft_locked) +static void free_match_list(struct match_list *head, bool ft_locked) { - if (!list_empty(&head->list)) { - struct match_list *iter, *match_tmp; + struct match_list *iter, *match_tmp; - list_del(&head->first.list); - tree_put_node(&head->first.g->node, ft_locked); - list_for_each_entry_safe(iter, match_tmp, &head->list, - list) { - tree_put_node(&iter->g->node, ft_locked); - list_del(&iter->list); - kfree(iter); - } + list_for_each_entry_safe(iter, match_tmp, &head->list, + list) { + tree_put_node(&iter->g->node, ft_locked); + list_del(&iter->list); + kfree(iter); } } -static int build_match_list(struct match_list_head *match_head, +static int build_match_list(struct match_list *match_head, struct mlx5_flow_table *ft, const struct mlx5_flow_spec *spec, bool ft_locked) @@ -1615,14 +1606,8 @@ static int build_match_list(struct match_list_head *match_head, rhl_for_each_entry_rcu(g, tmp, list, hash) { struct match_list *curr_match; - if (likely(list_empty(&match_head->list))) { - if (!tree_get_node(&g->node)) - continue; - match_head->first.g = g; - list_add_tail(&match_head->first.list, - &match_head->list); + if (unlikely(!tree_get_node(&g->node))) continue; - } curr_match = kmalloc(sizeof(*curr_match), GFP_ATOMIC); if (!curr_match) { @@ -1630,10 +1615,6 @@ static int build_match_list(struct match_list_head *match_head, err = -ENOMEM; goto out; } - if (!tree_get_node(&g->node)) { - kfree(curr_match); - continue; - } curr_match->g = g; list_add_tail(&curr_match->list, &match_head->list); } @@ -1785,9 +1766,9 @@ _mlx5_add_flow_rules(struct mlx5_flow_table *ft, { struct mlx5_flow_steering *steering = get_steering(&ft->node); - struct mlx5_flow_group *g; struct mlx5_flow_handle *rule; - struct match_list_head match_head; + struct match_list match_head; + struct mlx5_flow_group *g; bool take_write = false; struct fs_fte *fte; int version; From patchwork Thu Mar 26 06:38:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 221819 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=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, 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 947F0C43331 for ; Thu, 26 Mar 2020 06:38:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6C14620714 for ; Thu, 26 Mar 2020 06:38:59 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="e6IpIS7p" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727772AbgCZGi6 (ORCPT ); Thu, 26 Mar 2020 02:38:58 -0400 Received: from mail-eopbgr130079.outbound.protection.outlook.com ([40.107.13.79]:8291 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727755AbgCZGi6 (ORCPT ); Thu, 26 Mar 2020 02:38:58 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QGmx2F0BAD1oGa77XEDom1BS5fJcG3nG5/hS+n6NuAxHElkKFo0ilP0SZSbj5qiz6U0iI70dTQnhvtrix5NcS3x2Cz0N6apAiPkTbz+siGhLnfbI5LATjuuY7v7ezUkKQqtFqUb6GtPS/WjZTfGCGQbxxAJkqQVXgvd3IFr/xixVRSwG9Jq0zMhOegskd1TiQh+msaUcdEQAOTC4XATRh0PZe7egm0g5dgtCr/RFPTHUlWZjeMDO1q9EZZxuDXFiUd4m14DKrCUQvDwx2ey843QYuCgt+tmuTO6hQIy9qyD5Bqb6SbpZCzDM27oFsI6t1SG6+Hid+vawoy7kGH57Gg== 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=7/t8zyRfn0z4fSZEbU7qenmLQtmvbmwI7HnBA93hVdE=; b=kcMAn6tqrQYsna7wcXaTXHewbEMbjaaSKKw120kot3oyD8FFl74CEPGfY7Hjtz8NiIUxoN3sX8B92mnH+ttRtgABmRCmHVzyazLS3DoAwtb6nRqc+BGkD/reV53ujoPqfQXKI7xZowdQKdzBFPZxPeUSjCR2MlY5YB4WVHUGvtZRt572xDSQ8GK+kN76n+nV8FDCk+86DqIGpVUlXlys3Ku4tTWmKeaykP4HmAVuoZVzcKVB0NLWupegSco4bqpT8fX3tVXN0W3mHDk7sf1ZU0kNpraoIYyCXtKNvOoukZDDQ/SWFJuMqErm7ycY96zaHphbRczrjXJ1v1YvU0TzCQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7/t8zyRfn0z4fSZEbU7qenmLQtmvbmwI7HnBA93hVdE=; b=e6IpIS7pM50hTsJK+r80NnSVho8Wc/HzJyT3jvwHVgeTl0v5o+mAzfRVvgD8AICCSSinSNsJDLGJF+T/oLDSayJcpDYNoz5NSFcgac3TSrFxQbddPBRtDpLIE+YCk4XeP0W4qRls16n2FwkDWcviC+HrIRdnApsgsdKYeduMRlM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (20.177.51.151) by VI1PR05MB6479.eurprd05.prod.outlook.com (20.179.25.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2835.23; Thu, 26 Mar 2020 06:38:52 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2%7]) with mapi id 15.20.2835.023; Thu, 26 Mar 2020 06:38:52 +0000 From: Saeed Mahameed To: "David S. Miller" , kuba@kernel.org Cc: netdev@vger.kernel.org, Jiri Pirko , Eli Cohen , Mark Bloch , Saeed Mahameed Subject: [net-next 09/16] net/mlx5: Avoid incrementing FTE version Date: Wed, 25 Mar 2020 23:38:02 -0700 Message-Id: <20200326063809.139919-10-saeedm@mellanox.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200326063809.139919-1-saeedm@mellanox.com> References: <20200326063809.139919-1-saeedm@mellanox.com> X-ClientProxiedBy: BYAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:a02:a8::33) To VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from smtp.office365.com (73.15.39.150) by BYAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:a02:a8::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.19 via Frontend Transport; Thu, 26 Mar 2020 06:38:50 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 4faf7ac8-c7f6-4090-2b09-08d7d150590e X-MS-TrafficTypeDiagnostic: VI1PR05MB6479:|VI1PR05MB6479: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2733; X-Forefront-PRVS: 0354B4BED2 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR05MB5102.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(39860400002)(366004)(346002)(396003)(376002)(136003)(478600001)(107886003)(52116002)(6512007)(4326008)(86362001)(6486002)(8936002)(54906003)(6506007)(36756003)(4744005)(1076003)(81156014)(81166006)(2906002)(316002)(8676002)(6666004)(66946007)(186003)(16526019)(66556008)(66476007)(26005)(5660300002)(2616005)(956004)(54420400002); DIR:OUT; SFP:1101; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lf36EPQv6E5BS/2GcNZpXvpiyp8HzCIEKEk58EFfDJu/u12qBb10visjSxxiLU/gS8uya5bPIfq3sZebObU3BgWt0L71wyumKjTT2UKtnve3myMKUhPX4BhbgV26xFS/ozVMKFhNqFi6gkQCEBYHE16o5tLz6uCoBtQRt3pkrollP7efZA6in3ng2jTZpJuHxRY1LAXHCeSJh7il2TOzzz6QcIk7Mdmu3ewhnZxDTOK4UW/lKinXk87/ILvru9r06BK0AVs5BSbOBEdj3EEudn5pBz+YAlANNTCa21EF+VDOI8NVlcwRoRkLinnNdHFIq8rj2farliwZAwMjz1L2I5MVX04+wwH5cH/zmZbNozVT3fFCuqoGgbzIyLV2l18Q3a9j7SCw0ZeAXskCObCLSUcjFYqEyITuufgTTzpFUtHUHUvLI7cLz6yr+1a7dTjLixofGZkZ781NRqrw0etsGl3XcWTWZ/wsTbqXWbfbRALLhnLACvos5DI+ewNbRHpk X-MS-Exchange-AntiSpam-MessageData: OfXmm39lCurGNlGDNZCdmin/QhE/f9NoKXnhtvdTeg+7zgbAGJTIyQ16huKWVvxvnOfXBscKKgtkqYXYD0Ny3EslQ7/1k5gcPBU65tY1J4GKFFSc2dA6Tq1Xf+DQDBd2OQOsdzSwf79HdvRHoAl15w== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4faf7ac8-c7f6-4090-2b09-08d7d150590e X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2020 06:38:52.2731 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: w+wuA2CubxdNgZexqInTG7H67fqC82TEeyBfWN02F9e94CZ9oPFd1KCS4QJc9NnO7pbVX1IAWVP9IMsd+7LWxQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6479 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Eli Cohen FTE version is not used anywhere in the code so avoid incrementing it. Signed-off-by: Eli Cohen Reviewed-by: Mark Bloch Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c index 751dd5869485..44ed42e0e1c7 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c @@ -1322,7 +1322,6 @@ add_rule_fte(struct fs_fte *fte, fte->node.active = true; fte->status |= FS_FTE_STATUS_EXISTING; - atomic_inc(&fte->node.version); atomic_inc(&fg->node.version); out: From patchwork Thu Mar 26 06:38:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 221818 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=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, 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 8F09AC2D0E8 for ; Thu, 26 Mar 2020 06:39:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5EEC42078E for ; Thu, 26 Mar 2020 06:39:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="ZCeEhecE" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727796AbgCZGjD (ORCPT ); Thu, 26 Mar 2020 02:39:03 -0400 Received: from mail-eopbgr130079.outbound.protection.outlook.com ([40.107.13.79]:8291 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727768AbgCZGjD (ORCPT ); Thu, 26 Mar 2020 02:39:03 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WyT/MxNIv9fpztOnySQw5ng4WCT50m6xrN81KoBdOskmDZucRwxj9Pqt7gxu0p7RiPaWhHVASbVIlJWL7/9zTClcUYpVw3DfPGWz/kG3Y4flm/bkF7okR2EqI7A8N71hlYfYPj8v31j4C/w7JOp7+mRC7BDj7c1kA5/ZDyaQA7GyzfyGYx++EMg2Ikxa6ZX0t1CUed8J1R0zkd8jUFF9WPbp8y/L87cPQCsajmer7o1GkcxSJkzF1o4rrPxBvCNA7kUGLdB73Lp7BRj4TgfbNiqkwKl9QN+2MhCxDyzgD/yYB+2VVUU5h/GOjcfqWHtL0xTxVuTPIvX9ZPfx2pUMmw== 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=3MqRGQeZ7PJ+rNcDhPlyWzhr+lwZJFqJr5ZrBptvgT8=; b=gqDyjZTbASQJAVO5IH3n5II0QrLoQVoSTFerHyLYgTZYCwsbkADVoJcYxot7KOStq4KQpyqfXJO+2MXpSaZ/JEkYal5/74JO7o5QFbU5pRNHDMks+UQ/olKuzwXN1jf5ZAkzvMcX2TVSB18fj8pwM+ITwjuCDj31vRyE/jlHtOdpDvOqIuOJawcdPbBRg5+v2gUhNkbUpk2DMplZPdp2tyHC9nYGS/N2De4WYxDOUf/bUTJr6LEcG9jAukhVo6ykBOswRKdBXunYsRtcyxf4PS+wGde8zw+qUCO4cPsfaZeM5bDHA3m4QuhQI03UkDbROPcW3ZKdVEYbB3a9+OjTkA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3MqRGQeZ7PJ+rNcDhPlyWzhr+lwZJFqJr5ZrBptvgT8=; b=ZCeEhecEnrGAqkKUdrOne/nYFwaodfKEDaeU5dxN+uGbGoaf4S5/Xzx+8bUvjzK1L+cI2jfUuRYlNDDgPwf9k6Hq3UGXuDHL0ZD3Y7kFxA08JCbwq0HK7LxBrqebdQzQZsQhK4uQFUYlfZGoF2D118qiHSBc6ww5y7P8/rbTblk= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (20.177.51.151) by VI1PR05MB6479.eurprd05.prod.outlook.com (20.179.25.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2835.23; Thu, 26 Mar 2020 06:38:56 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2%7]) with mapi id 15.20.2835.023; Thu, 26 Mar 2020 06:38:56 +0000 From: Saeed Mahameed To: "David S. Miller" , kuba@kernel.org Cc: netdev@vger.kernel.org, Jiri Pirko , Parav Pandit , Moshe Shemesh , Saeed Mahameed Subject: [net-next 11/16] net/mlx5: Simplify mlx5_register_device to return void Date: Wed, 25 Mar 2020 23:38:04 -0700 Message-Id: <20200326063809.139919-12-saeedm@mellanox.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200326063809.139919-1-saeedm@mellanox.com> References: <20200326063809.139919-1-saeedm@mellanox.com> X-ClientProxiedBy: BYAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:a02:a8::33) To VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from smtp.office365.com (73.15.39.150) by BYAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:a02:a8::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.19 via Frontend Transport; Thu, 26 Mar 2020 06:38:54 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: e81bab32-89bc-4ef0-ebe7-08d7d1505bec X-MS-TrafficTypeDiagnostic: VI1PR05MB6479:|VI1PR05MB6479: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1824; X-Forefront-PRVS: 0354B4BED2 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR05MB5102.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(39860400002)(366004)(346002)(396003)(376002)(136003)(478600001)(107886003)(52116002)(6512007)(4326008)(86362001)(6486002)(8936002)(54906003)(6506007)(36756003)(1076003)(81156014)(81166006)(2906002)(316002)(8676002)(6666004)(66946007)(186003)(16526019)(66556008)(66476007)(26005)(5660300002)(2616005)(956004)(54420400002); DIR:OUT; SFP:1101; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UZi7wtahvoqU4eT8xnR8oIYqUUTH4FH+P6dPu80WjjpQ8LXJJfhbU/bL+bzClBwFhVJNVBz1abK4ZOF+XZe03vZJfFrQ8EauZjDPSt7VH1JRq4vVqyyGRRlmLKEjNyeJT1FBHAVtqP0XiGZvijxc6a3wQc7MwTX21Yd9jdiLKM+AVBgQ6ufWOMpzh7JG9LYXBWtyL0dmgnMR+JH0dWzPgwWzgZ8ZI91YZ/RNzYooMpAwajgrnFMIw2qMHjqyTx/A8ad1V/4rRRZe67bUeOEvtGgKiFlB6hW2bzefJHdMVht3jrPfwcEZZ3gJESi7EasEDWS2xhyQ/MuHdxTsNcrUuU96v2uyUQTjPfSdQBaWOnBer4m/89QOB2ABQ2Mj6sgHiugyLEApkfTcsDszlFnspy872aSTgJFkVYFPmhf+76HQML8nUPTI+BUnyXah+lRKxIzeWa4J+uPeyqbU8j3pEy621ylRG4G8SgMv9DynGpKy/JF/f9Ai9jvirhQeXQKu X-MS-Exchange-AntiSpam-MessageData: 7MQvXzWHZ52zpYPkCBo5pffuhTZuu4gMV5HpILzVHHE/QJYUaEPsNk8z3lEl9nnQYjSBu4iRvi8buNWpDeFJlhwP+hq/H3uGVIpxdDX723OG5Gg/XcNZouugHdaD1THfFcv6d5PKyqTn2BHY9Ffsqg== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: e81bab32-89bc-4ef0-ebe7-08d7d1505bec X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2020 06:38:56.8555 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: d380pwxawsWz3ZluZT8hgQDfDTbMGLPlx5bSyYvztVYb0YLdiOXqU9AVv8RLcCmSntWI4HibbxTKOv3AmyYXMQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6479 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Parav Pandit mlx5_register_device() doesn't check for any error and always returns 0. Simplify mlx5_register_device() to return void and its caller, remove dead code related to it. Reviewed-by: Moshe Shemesh Signed-off-by: Parav Pandit Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/dev.c | 4 +--- drivers/net/ethernet/mellanox/mlx5/core/main.c | 14 +++----------- .../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 2 +- 3 files changed, 5 insertions(+), 15 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/dev.c b/drivers/net/ethernet/mellanox/mlx5/core/dev.c index 50862275544e..1972ddd12704 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/dev.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/dev.c @@ -193,7 +193,7 @@ bool mlx5_device_registered(struct mlx5_core_dev *dev) return found; } -int mlx5_register_device(struct mlx5_core_dev *dev) +void mlx5_register_device(struct mlx5_core_dev *dev) { struct mlx5_priv *priv = &dev->priv; struct mlx5_interface *intf; @@ -203,8 +203,6 @@ int mlx5_register_device(struct mlx5_core_dev *dev) list_for_each_entry(intf, &intf_list, list) mlx5_add_device(intf, priv); mutex_unlock(&mlx5_intf_mutex); - - return 0; } void mlx5_unregister_device(struct mlx5_core_dev *dev) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c index 204a26bf0a5f..dc58feb5a975 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c @@ -1211,15 +1211,10 @@ int mlx5_load_one(struct mlx5_core_dev *dev, bool boot) goto err_devlink_reg; } - if (mlx5_device_registered(dev)) { + if (mlx5_device_registered(dev)) mlx5_attach_device(dev); - } else { - err = mlx5_register_device(dev); - if (err) { - mlx5_core_err(dev, "register device failed %d\n", err); - goto err_reg_dev; - } - } + else + mlx5_register_device(dev); set_bit(MLX5_INTERFACE_STATE_UP, &dev->intf_state); out: @@ -1227,9 +1222,6 @@ int mlx5_load_one(struct mlx5_core_dev *dev, bool boot) return err; -err_reg_dev: - if (boot) - mlx5_devlink_unregister(priv_to_devlink(dev)); err_devlink_reg: mlx5_unload(dev); err_load: diff --git a/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h b/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h index da67b28d6e23..8c12f1be27ce 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h @@ -182,7 +182,7 @@ void mlx5_remove_device(struct mlx5_interface *intf, struct mlx5_priv *priv); void mlx5_attach_device(struct mlx5_core_dev *dev); void mlx5_detach_device(struct mlx5_core_dev *dev); bool mlx5_device_registered(struct mlx5_core_dev *dev); -int mlx5_register_device(struct mlx5_core_dev *dev); +void mlx5_register_device(struct mlx5_core_dev *dev); void mlx5_unregister_device(struct mlx5_core_dev *dev); void mlx5_add_dev_by_protocol(struct mlx5_core_dev *dev, int protocol); void mlx5_remove_dev_by_protocol(struct mlx5_core_dev *dev, int protocol); From patchwork Thu Mar 26 06:38:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 221817 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=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, 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 BC7BDC43331 for ; Thu, 26 Mar 2020 06:39:09 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 89A0520714 for ; Thu, 26 Mar 2020 06:39:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="EIzmgn0A" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727817AbgCZGjJ (ORCPT ); Thu, 26 Mar 2020 02:39:09 -0400 Received: from mail-eopbgr130079.outbound.protection.outlook.com ([40.107.13.79]:8291 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727798AbgCZGjI (ORCPT ); Thu, 26 Mar 2020 02:39:08 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fwxCh5yecj2U1HHwt3Pu3WDH+1fh6egO1RE2JFWQcP3DVnuRnOdo/ynYmftNqaDs7aZlL81IgVf0NZctmSps2qtnOTPywueVoOPjO49Gm86eKPv9kvCmP8Gam43r+xmiTUPLKNfVSef3xf96lXXO8Q84jod+KkVNOJSLqJ9f6QCoARg8zhT3+ZXD5Bx1jKXxx7uKxjuzkS+UUJZU9nFyfY3KzyOfZLm3w90rhNzu3ORs7dISSTZNgsIy4xjynXsmWiB1wVYnCw8EWOoOgVtfRhE1HT+vcy8TtZ3jjwCHJmquNwKMYuIypOA/zmCtDJIPuf03+rpIo8/u7fSszahMqg== 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=0dohxoXvLlzC8pv7CnYdFJ/8PTUam/8+S4yyerFT85U=; b=kKHY3S8E9xzEbHzehaP6xCWsC4N4S0mkvuq3GmJP45Eo01udpEXIRgWo6J1a4v5/5lDDdV/fSuVnzJCRwkWMEnFTWv6udbkYBjWhJ+YlIDqhYMJi9I6E4Pc2MqSoSCv65aIQEzcfSn4utGCmKKxGoXt2Yp/b/IMjDAh/iZm4ZJcMSlr0jRv6hHkrukkitkflf4LhY/fD48hy0DCwp29LiBRmO65EzK4ULUHZmcHQBU8qZR30salwhN7+JpIDMzNN89xusJEVtSpXICINByOtsQmIHTLjxCNsF9RM0X5Xk0IuVpHBWXIoy9ugrI/mxT+ql/mMZKV6eBAo3chilXK4ig== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0dohxoXvLlzC8pv7CnYdFJ/8PTUam/8+S4yyerFT85U=; b=EIzmgn0ARKiPNkiZ23n5S7RgvdUd/KDktDT+P/XLuiSwPXxI8zkBeouMViTnGZ/Pi3spVC3+1bfSPEZEJxlfx+FK6ddonARDuI3i+gw7yVLh72DFB+mX1CSvomXXMJb/zwhU7Da4Ahicm1UtoTFWrmo2TvJhXI3gicDjKmSivMw= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (20.177.51.151) by VI1PR05MB6479.eurprd05.prod.outlook.com (20.179.25.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2835.23; Thu, 26 Mar 2020 06:39:02 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2%7]) with mapi id 15.20.2835.023; Thu, 26 Mar 2020 06:39:02 +0000 From: Saeed Mahameed To: "David S. Miller" , kuba@kernel.org Cc: netdev@vger.kernel.org, Jiri Pirko , Parav Pandit , Mark Bloch , Saeed Mahameed Subject: [net-next 13/16] devlink: Rely on driver eswitch thread safety instead of devlink Date: Wed, 25 Mar 2020 23:38:06 -0700 Message-Id: <20200326063809.139919-14-saeedm@mellanox.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200326063809.139919-1-saeedm@mellanox.com> References: <20200326063809.139919-1-saeedm@mellanox.com> X-ClientProxiedBy: BYAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:a02:a8::33) To VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from smtp.office365.com (73.15.39.150) by BYAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:a02:a8::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.19 via Frontend Transport; Thu, 26 Mar 2020 06:39:00 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 1e94b0f8-e924-4d57-29e3-08d7d1505f54 X-MS-TrafficTypeDiagnostic: VI1PR05MB6479:|VI1PR05MB6479: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6430; X-Forefront-PRVS: 0354B4BED2 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR05MB5102.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(39860400002)(366004)(346002)(396003)(376002)(136003)(478600001)(107886003)(52116002)(6512007)(4326008)(86362001)(6486002)(8936002)(54906003)(6506007)(36756003)(1076003)(81156014)(81166006)(2906002)(316002)(8676002)(66946007)(186003)(16526019)(66556008)(66476007)(26005)(5660300002)(2616005)(956004)(54420400002); DIR:OUT; SFP:1101; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: e23v50j5/s/vXmXeL87DcxYIQcIo+BqfKy1KcGou3RTHNDgxAzr0zAAiAm5uQOmUstmhdNhuu8wuB0gZyYVCqDnBiNpgqhAzhRi0bUqgyVTVe6kESbwDzMeIFbmDJtvjkec0eKHnUSclPLDA0kFYXwcLFYqufKUN1jh4Ovs5gRyNsK49C+dkbCS+AJwN3mchi2zs2qfDDlOkHk4HTU2T0Fq2Ifpw4Lio85BwWy+Hf86S2sBDHn67vzXEbTW7iCSIchewGWMk4t2mfbW4TuPPIMQZqvvwknVfjN9R4adoZCCFg71ZZgf/xjKm7iN44ydqlc9ZRCBa98UFvd/qGuUu2UBKD2KMpK/x01cKoZwhGmFXj4dL9FqhjvFbPQyDpc+vtoRefqdCC/uiawBqfabLBijcG6acaD4Aru6DilQ6cBR/YiKR9fUquc5jVLE3rUI+xHRtrF9gijWHvWxLbilp1E5G3Tn4yRMzkFDZxwd/CtNUB5KN5Ion/kdAoYmWZTVZ X-MS-Exchange-AntiSpam-MessageData: l3qZKPJElTdKXDbmS7MHYPQhqkeSJJJq9nqvgwI3XJkL4RxgGHAbhUA09dpe93E+Z6hWzxh4xfpj17bEhhMG7bKxUFyV1/lnzlu23XvARnanZoWrsrJXFklcbVK187aOPAiVOs85CppLfd3qtDTumg== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1e94b0f8-e924-4d57-29e3-08d7d1505f54 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2020 06:39:02.5473 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: iuP7rsCxjNTvFuxEGHh4XBhXAikGLSlczULmWgMoMaZ6G8/Q91uPcA7jjFmOO5Iz8DYC+fbtnSuhTZywP4Itug== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6479 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Parav Pandit devlink_nl_cmd_eswitch_set_doit() doesn't hold devlink->lock mutex while invoking driver callback. This is likely due to eswitch mode setting involves adding/remove devlink ports, health reporters or other devlink objects for a devlink device. So it is driver responsiblity to ensure thread safe eswitch state transition happening via either sriov legacy enablement or via devlink eswitch set callback. Therefore, get() callback should also be invoked without holding devlink->lock mutex. Vendor driver can use same internal lock which it uses during eswitch mode set() callback. This makes get() and set() implimentation symmetric in devlink core and in vendor drivers. Hence, remove holding devlink->lock mutex during eswitch get() callback. Failing to do so results into below deadlock scenario when mlx5_core driver is improved to handle eswitch mode set critical section invoked by devlink and sriov sysfs interface in subsequent patch. devlink_nl_cmd_eswitch_set_doit() mlx5_eswitch_mode_set() mutex_lock(esw->mode_lock) <- Lock A [...] register_devlink_port() mutex_lock(&devlink->lock); <- lock B mutex_lock(&devlink->lock); <- lock B devlink_nl_cmd_eswitch_get_doit() mlx5_eswitch_mode_get() mutex_lock(esw->mode_lock) <- Lock A In subsequent patch, mlx5_core driver uses its internal lock during get() and set() eswitch callbacks. Other drivers have been inspected which returns either constant during get operations or reads the value from already allocated structure. Hence it is safe to remove the lock in get( ) callback and let vendor driver handle it. Reviewed-by: Jiri Pirko Reviewed-by: Mark Bloch Signed-off-by: Parav Pandit Signed-off-by: Saeed Mahameed --- net/core/devlink.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/core/devlink.c b/net/core/devlink.c index 73bb8fbe3393..a9036af7e002 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -6187,7 +6187,8 @@ static const struct genl_ops devlink_nl_ops[] = { .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .doit = devlink_nl_cmd_eswitch_get_doit, .flags = GENL_ADMIN_PERM, - .internal_flags = DEVLINK_NL_FLAG_NEED_DEVLINK, + .internal_flags = DEVLINK_NL_FLAG_NEED_DEVLINK | + DEVLINK_NL_FLAG_NO_LOCK, }, { .cmd = DEVLINK_CMD_ESWITCH_SET, From patchwork Thu Mar 26 06:38:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 221816 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=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, 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 90F73C43331 for ; Thu, 26 Mar 2020 06:39:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 590D92078E for ; Thu, 26 Mar 2020 06:39:15 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="VuOLYQb9" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727833AbgCZGjO (ORCPT ); Thu, 26 Mar 2020 02:39:14 -0400 Received: from mail-eopbgr130079.outbound.protection.outlook.com ([40.107.13.79]:8291 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727821AbgCZGjO (ORCPT ); Thu, 26 Mar 2020 02:39:14 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SdhJopqwLk9mh/MxoGF8LDTz5cvRKTj7keOshC+iGr7iniFzG9/+WambNJ4lvubUq8Pp31arcuO94r2l2lekQ0vEQB6i/0GrmbBK8FJDzg7jfNT4hZco/ywEjlWaCFhT0Bfvr4Ycpzv7fbTuQnbO6iUFUUjoKLTRWlNPq6xp6JqPzA2pbWIxuXEY6GpESLzHfsNQMkZVjtZtMBuvw+sEcuBme9bkYvdLKNcjIEEbMqcw6Fw0C8M3SU6zJiEuOa3R0iS+XDEab03FUrJfaHQoSWc2nnLkzHB2JXGbUbHJUWr1e1PSGPMCoRtlgmmrK5fsM2Q/NeQUoS1ILkT7bLekyQ== 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=DxyUbW3jxKxSkbE6uMwshA3WZWks0ek9yiJ+UM2273I=; b=FRkaxU40VS6hGffpNrmsTOPdWRxlq1reSFKNATWS8Rf+SD2N3TGIUBZ6sPckpRCKkXRCYxCORtODaUf45/bfO/dCPzqbP9TkwcTrACNCvLSjSGAuDoAJSZ6gNpkYwcHEPMBcPqXuhz63COfQbri4o8gNpkbXLtRx9LW/5Jjtq74HsM3Nhsx+PwHc/hQEIQ25aExCG4HGC1F7EIPSpPXO597iQXqL57Me1RlPpjpjXKe/FKYZa3l3DuR8ELF2+cDaJcx1qEF/pc9P8/jPXt78KPLtvKDlEc/vqqA5c07O2nSuZUrKnqEflWJDyILR4jK+OWDBWE6h/mRX1EKKP2GHdQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DxyUbW3jxKxSkbE6uMwshA3WZWks0ek9yiJ+UM2273I=; b=VuOLYQb9sRnI8zg2NRn9CiWb7MKKx2tgJqPA6bl+9Rq56pmhNwyG/lNudwLzGZtgAHzGEJCLxUXA/cUgHr/ouHkrQ4hl8kUXWcTBmFaVjd6XanaKz/xCTIldiH2ITrdl6cr0Nb088lc7Sidiqfa0cSLYXC0U4gOelIW6HCIjrRc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (20.177.51.151) by VI1PR05MB6479.eurprd05.prod.outlook.com (20.179.25.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2835.23; Thu, 26 Mar 2020 06:39:08 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2%7]) with mapi id 15.20.2835.023; Thu, 26 Mar 2020 06:39:08 +0000 From: Saeed Mahameed To: "David S. Miller" , kuba@kernel.org Cc: netdev@vger.kernel.org, Jiri Pirko , Parav Pandit , Roi Dayan , Bodong Wang , Mark Bloch , Saeed Mahameed Subject: [net-next 15/16] net/mlx5: E-switch, Extend eswitch enable to handle num_vfs change Date: Wed, 25 Mar 2020 23:38:08 -0700 Message-Id: <20200326063809.139919-16-saeedm@mellanox.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200326063809.139919-1-saeedm@mellanox.com> References: <20200326063809.139919-1-saeedm@mellanox.com> X-ClientProxiedBy: BYAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:a02:a8::33) To VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from smtp.office365.com (73.15.39.150) by BYAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:a02:a8::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.19 via Frontend Transport; Thu, 26 Mar 2020 06:39:05 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 53d18923-6f5e-411e-ce56-08d7d15062d3 X-MS-TrafficTypeDiagnostic: VI1PR05MB6479:|VI1PR05MB6479: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2657; X-Forefront-PRVS: 0354B4BED2 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR05MB5102.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(39860400002)(366004)(346002)(396003)(376002)(136003)(478600001)(107886003)(52116002)(6512007)(4326008)(86362001)(6486002)(8936002)(54906003)(6506007)(36756003)(1076003)(81156014)(81166006)(2906002)(316002)(8676002)(66946007)(186003)(16526019)(66556008)(66476007)(26005)(5660300002)(2616005)(956004)(54420400002); DIR:OUT; SFP:1101; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +4yLm9Z9BhdINXKHGNiVkUK8vsvQlQDWHZnEc19cqT8G8nrnoHsdLnfZYiV15iBH4dtGu+nRJgzsVbQ38yLOlwsU+iwR3F50hQqgwNYpBWRyC8Fjmh/5g0ZIj0JpMGbPeBoe/mz73tSeYhFAics3HzqtTyFaXl6ztkFqOqXzKssEjSbh2jw4B1po3m6QKoXazE6ILpMmUXkKmQkGh/4xR0ncYj7b8CnJVYXXuMizTEWXg6wxppqN9Cz6OSKQyk5K9lSKzz/vsk4mmMq/j7V2VvQuevb+NrBNHJbxWqS3EZPfjgm9aaiRCUv00+ZLzyBMk6EK20pjlGhpBQ/wg6npOaQENwimYTauEkw7/w73UlVQtAeXwU3Yh8ojMi8/9Klc0uLa7a8xXskdhj8c/1Pdowhl/tZ7Jsy9nQ2gt7JsPEdZYDKrTh/IAWFvtkKnIW5O1G9x8KU8zVn3+FmgkfK4wv5c1wE+994RfTL5MPBNl0pxUbqUL5/K51dTReJK5KTR X-MS-Exchange-AntiSpam-MessageData: G/hbIsHHPDhY0AnSnnlDbgEIY4RGnoNbOl9i6JOcvJHYoIL92DWRL787OyBTSePa19WGATIeNZgw6ibABbFioy0JgmY3skKK8oaEWnfPrcuxF8x2onN8N8NQFo1DJZx6NKss5iejuKx0ImaSZ4QmUQ== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 53d18923-6f5e-411e-ce56-08d7d15062d3 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2020 06:39:08.5339 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: pE2V4rIUJwokGmPdeJsGa73upxgrEKQPsjq02t4zzCQ/uf3XxWEddiLGdgrQkgyc28Fo5/JYG2pt3LPT4rY+uQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6479 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Parav Pandit Subsequent patch protects eswitch mode changes across sriov and devlink interfaces. It is desirable for eswitch to provide thread safe eswitch enable and disable APIs. Hence, extend eswitch enable API to optionally update num_vfs when requested. In subsequent patch, eswitch num_vfs are updated after all the eswitch users eswitch drops its reference count. Reviewed-by: Roi Dayan Reviewed-by: Bodong Wang Reviewed-by: Mark Bloch Signed-off-by: Parav Pandit Signed-off-by: Saeed Mahameed --- .../net/ethernet/mellanox/mlx5/core/eswitch.c | 63 +++++++++++++------ .../net/ethernet/mellanox/mlx5/core/eswitch.h | 10 ++- .../mellanox/mlx5/core/eswitch_offloads.c | 13 ++-- .../net/ethernet/mellanox/mlx5/core/sriov.c | 4 +- 4 files changed, 58 insertions(+), 32 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c index 8fc351240f4c..a22f9c77e4c3 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -2067,7 +2067,48 @@ static void mlx5_eswitch_get_devlink_param(struct mlx5_eswitch *esw) } } -int mlx5_eswitch_enable(struct mlx5_eswitch *esw, int mode) +static void +mlx5_eswitch_update_num_of_vfs(struct mlx5_eswitch *esw, int num_vfs) +{ + const u32 *out; + + WARN_ON_ONCE(esw->mode != MLX5_ESWITCH_NONE); + + if (num_vfs < 0) + return; + + if (!mlx5_core_is_ecpf_esw_manager(esw->dev)) { + esw->esw_funcs.num_vfs = num_vfs; + return; + } + + out = mlx5_esw_query_functions(esw->dev); + if (IS_ERR(out)) + return; + + esw->esw_funcs.num_vfs = MLX5_GET(query_esw_functions_out, out, + host_params_context.host_num_of_vfs); + kvfree(out); +} + +/** + * mlx5_eswitch_enable - Enable eswitch + * @esw: Pointer to eswitch + * @mode: Eswitch mode to enable + * @num_vfs: Enable eswitch for given number of VFs. This is optional. + * Valid value are 0, > 0 and MLX5_ESWITCH_IGNORE_NUM_VFS. + * Caller should pass num_vfs > 0 when enabling eswitch for + * vf vports. Caller should pass num_vfs = 0, when eswitch + * is enabled without sriov VFs or when caller + * is unaware of the sriov state of the host PF on ECPF based + * eswitch. Caller should pass < 0 when num_vfs should be + * completely ignored. This is typically the case when eswitch + * is enabled without sriov regardless of PF/ECPF system. + * mlx5_eswitch_enable() Enables eswitch in either legacy or offloads mode. + * If num_vfs >=0 is provided, it setup VF related eswitch vports. It returns + * 0 on success or error code on failure. + */ +int mlx5_eswitch_enable(struct mlx5_eswitch *esw, int mode, int num_vfs) { int err; @@ -2085,6 +2126,8 @@ int mlx5_eswitch_enable(struct mlx5_eswitch *esw, int mode) mlx5_eswitch_get_devlink_param(esw); + mlx5_eswitch_update_num_of_vfs(esw, num_vfs); + esw_create_tsar(esw); esw->mode = mode; @@ -2811,22 +2854,4 @@ bool mlx5_esw_multipath_prereq(struct mlx5_core_dev *dev0, dev1->priv.eswitch->mode == MLX5_ESWITCH_OFFLOADS); } -void mlx5_eswitch_update_num_of_vfs(struct mlx5_eswitch *esw, const int num_vfs) -{ - const u32 *out; - - WARN_ON_ONCE(esw->mode != MLX5_ESWITCH_NONE); - - if (!mlx5_core_is_ecpf_esw_manager(esw->dev)) { - esw->esw_funcs.num_vfs = num_vfs; - return; - } - - out = mlx5_esw_query_functions(esw->dev); - if (IS_ERR(out)) - return; - esw->esw_funcs.num_vfs = MLX5_GET(query_esw_functions_out, out, - host_params_context.host_num_of_vfs); - kvfree(out); -} diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h index 95532b258c2b..752d399bdffb 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h @@ -296,7 +296,9 @@ int mlx5_esw_modify_vport_rate(struct mlx5_eswitch *esw, u16 vport_num, /* E-Switch API */ int mlx5_eswitch_init(struct mlx5_core_dev *dev); void mlx5_eswitch_cleanup(struct mlx5_eswitch *esw); -int mlx5_eswitch_enable(struct mlx5_eswitch *esw, int mode); + +#define MLX5_ESWITCH_IGNORE_NUM_VFS (-1) +int mlx5_eswitch_enable(struct mlx5_eswitch *esw, int mode, int num_vfs); void mlx5_eswitch_disable(struct mlx5_eswitch *esw, bool clear_vf); int mlx5_eswitch_set_vport_mac(struct mlx5_eswitch *esw, u16 vport, u8 mac[ETH_ALEN]); @@ -635,7 +637,6 @@ mlx5_eswitch_get_vport(struct mlx5_eswitch *esw, u16 vport_num); bool mlx5_eswitch_is_vf_vport(const struct mlx5_eswitch *esw, u16 vport_num); -void mlx5_eswitch_update_num_of_vfs(struct mlx5_eswitch *esw, const int num_vfs); int mlx5_esw_funcs_changed_handler(struct notifier_block *nb, unsigned long type, void *data); int @@ -673,7 +674,7 @@ void mlx5_eswitch_unload_vf_vports(struct mlx5_eswitch *esw, u16 num_vfs); /* eswitch API stubs */ static inline int mlx5_eswitch_init(struct mlx5_core_dev *dev) { return 0; } static inline void mlx5_eswitch_cleanup(struct mlx5_eswitch *esw) {} -static inline int mlx5_eswitch_enable(struct mlx5_eswitch *esw, int mode) { return 0; } +static inline int mlx5_eswitch_enable(struct mlx5_eswitch *esw, int mode, int num_vfs) { return 0; } static inline void mlx5_eswitch_disable(struct mlx5_eswitch *esw, bool clear_vf) {} static inline bool mlx5_esw_lag_prereq(struct mlx5_core_dev *dev0, struct mlx5_core_dev *dev1) { return true; } static inline bool mlx5_eswitch_is_funcs_handler(struct mlx5_core_dev *dev) { return false; } @@ -682,14 +683,11 @@ static inline const u32 *mlx5_esw_query_functions(struct mlx5_core_dev *dev) return ERR_PTR(-EOPNOTSUPP); } -static inline void mlx5_eswitch_update_num_of_vfs(struct mlx5_eswitch *esw, const int num_vfs) {} - static inline struct mlx5_flow_handle * esw_add_restore_rule(struct mlx5_eswitch *esw, u32 tag) { return ERR_PTR(-EOPNOTSUPP); } - #endif /* CONFIG_MLX5_ESWITCH */ #endif /* __MLX5_ESWITCH_H__ */ diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index 53fcb00ddbac..84a38f0739d0 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -1593,12 +1593,13 @@ static int esw_offloads_start(struct mlx5_eswitch *esw, } mlx5_eswitch_disable(esw, false); - mlx5_eswitch_update_num_of_vfs(esw, esw->dev->priv.sriov.num_vfs); - err = mlx5_eswitch_enable(esw, MLX5_ESWITCH_OFFLOADS); + err = mlx5_eswitch_enable(esw, MLX5_ESWITCH_OFFLOADS, + esw->dev->priv.sriov.num_vfs); if (err) { NL_SET_ERR_MSG_MOD(extack, "Failed setting eswitch to offloads"); - err1 = mlx5_eswitch_enable(esw, MLX5_ESWITCH_LEGACY); + err1 = mlx5_eswitch_enable(esw, MLX5_ESWITCH_LEGACY, + MLX5_ESWITCH_IGNORE_NUM_VFS); if (err1) { NL_SET_ERR_MSG_MOD(extack, "Failed setting eswitch back to legacy"); @@ -2397,10 +2398,12 @@ static int esw_offloads_stop(struct mlx5_eswitch *esw, int err, err1; mlx5_eswitch_disable(esw, false); - err = mlx5_eswitch_enable(esw, MLX5_ESWITCH_LEGACY); + err = mlx5_eswitch_enable(esw, MLX5_ESWITCH_LEGACY, + MLX5_ESWITCH_IGNORE_NUM_VFS); if (err) { NL_SET_ERR_MSG_MOD(extack, "Failed setting eswitch to legacy"); - err1 = mlx5_eswitch_enable(esw, MLX5_ESWITCH_OFFLOADS); + err1 = mlx5_eswitch_enable(esw, MLX5_ESWITCH_OFFLOADS, + MLX5_ESWITCH_IGNORE_NUM_VFS); if (err1) { NL_SET_ERR_MSG_MOD(extack, "Failed setting eswitch back to offloads"); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/sriov.c b/drivers/net/ethernet/mellanox/mlx5/core/sriov.c index 03f037811f1d..10a64b91d04c 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/sriov.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/sriov.c @@ -77,8 +77,8 @@ static int mlx5_device_enable_sriov(struct mlx5_core_dev *dev, int num_vfs) if (!MLX5_ESWITCH_MANAGER(dev)) goto enable_vfs_hca; - mlx5_eswitch_update_num_of_vfs(dev->priv.eswitch, num_vfs); - err = mlx5_eswitch_enable(dev->priv.eswitch, MLX5_ESWITCH_LEGACY); + err = mlx5_eswitch_enable(dev->priv.eswitch, MLX5_ESWITCH_LEGACY, + num_vfs); if (err) { mlx5_core_warn(dev, "failed to enable eswitch SRIOV (%d)\n", err);