From mboxrd@z Thu Jan 1 00:00:00 1970 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.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,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 18360C43381 for ; Thu, 28 Feb 2019 06:59:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D061A21850 for ; Thu, 28 Feb 2019 06:59:49 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="kbIjWt3y" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731267AbfB1G7t (ORCPT ); Thu, 28 Feb 2019 01:59:49 -0500 Received: from mail-eopbgr150075.outbound.protection.outlook.com ([40.107.15.75]:47522 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1731191AbfB1G71 (ORCPT ); Thu, 28 Feb 2019 01:59:27 -0500 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=DxBjOVRKsFjZf1Jhx3d83L6PwkDfoTKujcP3eLeDqAQ=; b=kbIjWt3yzhGOH11bah06J1Y8gAf40R8T5Y89+mfbfUwJ090L2mkBTeuvKHgWRNcPmPY2YjoUCB7nekhSuUa2HmbIBPdXi/djA2ockGHD2aTdWAQ0I+WccT2yNY14Ka+nJdZTRjrOLl/imlAGOHdMR63uLIVRFGPweXUcui7eoyw= Received: from AM6PR05MB5240.eurprd05.prod.outlook.com (20.177.196.214) by AM6PR05MB4168.eurprd05.prod.outlook.com (52.135.160.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1665.15; Thu, 28 Feb 2019 06:59:18 +0000 Received: from AM6PR05MB5240.eurprd05.prod.outlook.com ([fe80::458c:8deb:ca54:1327]) by AM6PR05MB5240.eurprd05.prod.outlook.com ([fe80::458c:8deb:ca54:1327%2]) with mapi id 15.20.1665.015; Thu, 28 Feb 2019 06:59:18 +0000 From: Ido Schimmel To: "netdev@vger.kernel.org" CC: "davem@davemloft.net" , Jiri Pirko , mlxsw , Ido Schimmel Subject: [PATCH net-next 03/14] mlxsw: spectrum_acl: Introduce new rehash context struct and save hint_priv there Thread-Topic: [PATCH net-next 03/14] mlxsw: spectrum_acl: Introduce new rehash context struct and save hint_priv there Thread-Index: AQHUzzMf92yC5G6yD0urtfwL012Sxg== Date: Thu, 28 Feb 2019 06:59:18 +0000 Message-ID: <20190228065850.7471-4-idosch@mellanox.com> References: <20190228065850.7471-1-idosch@mellanox.com> In-Reply-To: <20190228065850.7471-1-idosch@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM6PR08CA0025.eurprd08.prod.outlook.com (2603:10a6:20b:c0::13) To AM6PR05MB5240.eurprd05.prod.outlook.com (2603:10a6:20b:64::22) authentication-results: spf=none (sender IP is ) smtp.mailfrom=idosch@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.20.1 x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f19141df-2254-4f81-012c-08d69d4a4215 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020);SRVR:AM6PR05MB4168; x-ms-traffictypediagnostic: AM6PR05MB4168: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1;AM6PR05MB4168;23:QmjBBgs63gA8rSSCyS5XJdEptTf+GDmtT2adQxr?= =?iso-8859-1?Q?PHKxZXhXUk6ja2AiYVmlI/k7wvYYuYdfQiGliAyBXOSeZAi9KAVHJn9169?= =?iso-8859-1?Q?O9NiC1vzSg0EV25br7fS3xnzkl16JJ+2jLnzbP6/TxGr5FXXaM7HeLQs4C?= =?iso-8859-1?Q?6NAMIC5zoByO81Nv9IPJIFq41FBHvH5fVkfXWSrOXaaZ7ZFkd6Y7vleNbh?= =?iso-8859-1?Q?qHSvhP3TiyBI15+buHYlkedBPPDYfyWZn6l3wLhoYk0PEcTZI5xo93GmOE?= =?iso-8859-1?Q?s+5SLjdYL1uJonD2J7YtJxZSC1t4NDkiJr6GDoeB9J5uLsWYsdM8JrU3Xb?= =?iso-8859-1?Q?0JKLatqRoE3Ba1ASUntOZVr638j84OXfzIrRWXx5QN6j+uo5p3v055zvb/?= =?iso-8859-1?Q?k32TTCxv0f/rPI6petggjCFeikYe8G196xKmC/2/ORQarl1q3gTpBR+5PM?= =?iso-8859-1?Q?bC5KRb2wO0NSS80vLiJlc4XNPHwzW4Awcli5HkErR61M9kysPNOljXtVbb?= =?iso-8859-1?Q?MC2UDfeZpgUovwADC/Ga/cxZVTc8+iRxoQyvDIATZQ/UkiJXUZfW9L7JFJ?= =?iso-8859-1?Q?qdLaEY9mjEuWRyyWvvEOXrdfmRklxsIxqRS96UQw9nO/a+/I1U8Zx47Tdd?= =?iso-8859-1?Q?LtdmvGLI0eERyTf/AlP1ZIffKRFymTbIluffJIVnwAkBpjR17AKLvtSsS/?= =?iso-8859-1?Q?OIMq5n14lNo/V12IgMroG75N3NWK0Vc2gKQ445wu9H/Oi198NBEUUFxY8L?= =?iso-8859-1?Q?YsxDPsMQ5PpU9alWhIJ09DLtl0dO3oUfBO5KyYYJzl7lYeRpba+Lw+jtOj?= =?iso-8859-1?Q?Igax8OoQP+62cTMrCxzSgbRGxvMIqeak0ITDNRYR8uZNKhWzpRqtJn8XGA?= =?iso-8859-1?Q?VkReXk3Pl1zPfepTcuNJ5hUtuB7qOya/0/mkVrC2r4CeGCaj8gDpIhHNBd?= =?iso-8859-1?Q?7G7A9Cd5V7VVVpudK8GJtIuGPeNB9WMPk96pNgl7iegYW8tYV9i79O30z8?= =?iso-8859-1?Q?FkqAh4GUQvvpb3z0wCdr3NKfF27tY6E/ej+cCIruhu48m+ReIylmNo2ZXx?= =?iso-8859-1?Q?wiZLRfvxWvbqzcSprfk1k0Gh6LnAMhhpN9rp2MkybBzXq94iuj8naZiqDk?= =?iso-8859-1?Q?IYs3DTeCVhxy+HTzIOg4fzH8rlo8BJWERgPEEquOZKXFD4PO3zILhHzQtg?= =?iso-8859-1?Q?poLzW/xU7Tf7i9cKGrSlteym8PbWIZf8xXnhzNIONSNRzWD+GWPIMg1N4G?= =?iso-8859-1?Q?Yr2m0Xg6IhCamYFJ9v5/CZZDzFSGclKIfgQEJwaDTqL1rs5WSQ/TtUyyQf?= =?iso-8859-1?Q?B0655bu1h+AXGjFESDrK2M2AjgdqIx3uF57MxAkFftdYFH7t5qCZIKrEi7?= =?iso-8859-1?Q?awpQdwV7hoGUVyf+2PGclZEws65fw?= x-microsoft-antispam-prvs: x-forefront-prvs: 0962D394D2 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(346002)(39860400002)(376002)(366004)(136003)(396003)(189003)(199004)(97736004)(86362001)(478600001)(99286004)(8676002)(2906002)(5660300002)(1730700003)(54906003)(81156014)(81166006)(2616005)(476003)(6512007)(1076003)(11346002)(4326008)(316002)(446003)(105586002)(50226002)(66066001)(8936002)(106356001)(25786009)(76176011)(107886003)(53936002)(6436002)(68736007)(2351001)(2501003)(486006)(5640700003)(6486002)(7736002)(6916009)(14454004)(305945005)(102836004)(26005)(36756003)(6116002)(3846002)(6506007)(386003)(14444005)(186003)(256004)(52116002)(71200400001)(71190400001);DIR:OUT;SFP:1101;SCL:1;SRVR:AM6PR05MB4168;H:AM6PR05MB5240.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: p06kxCvCIovskSQwm0k8FIjfEOOXoK47oF/S6rijYryg2OqvJWEMPMfz8AvPjqagr5ojcc9mYjClgY6rdD6QfCLnuHVXhQ34wtjGtSDeD2xcWTeSORcoFVUyWE1GyKRjYSal15yw3gvsbQDGpO9pNjd0z5bCe/3Bi4u+fvSPDiIoyKCYIZCZUIa1+RRh6kSCRkIDpzh0UirPET1w3m0ca7M46APL4U2mmFW6FJOFnQCBeKDJATNwWqecUf2mLedSesMejiy6oAM8buN7YKCSZxhry5evMd0j83cZEXRbFv01um4rRW1EqYejetJaqpjMza5STSyNhDFuiCH7Q1UhsFm2ahvUDhzwmyhYUU6DKi5AWnKDeZc/cTKNjNcWq+BSOa42FUqnYqtFxHcIcHnFl5zd9KqTqDUj9oT8ns/g+Yc= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: f19141df-2254-4f81-012c-08d69d4a4215 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Feb 2019 06:59:18.4249 (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-Transport-CrossTenantHeadersStamped: AM6PR05MB4168 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Prepare for continued migration. Introduce a new structure to track rehash context and save hint_priv into it. Signed-off-by: Jiri Pirko Signed-off-by: Ido Schimmel --- .../ethernet/mellanox/mlxsw/spectrum_acl_tcam.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c b/driv= ers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c index 30131ea2e324..ae1101c17f2c 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c @@ -180,6 +180,10 @@ struct mlxsw_sp_acl_tcam_vgroup { bool vregion_rehash_enabled; }; =20 +struct mlxsw_sp_acl_tcam_rehash_ctx { + void *hints_priv; +}; + struct mlxsw_sp_acl_tcam_vregion { struct mutex lock; /* Protects consistency of region, region2 pointers * and vchunk_list. @@ -194,6 +198,7 @@ struct mlxsw_sp_acl_tcam_vregion { struct mlxsw_sp_acl_tcam_vgroup *vgroup; struct { struct delayed_work dw; + struct mlxsw_sp_acl_tcam_rehash_ctx ctx; } rehash; struct mlxsw_sp *mlxsw_sp; bool failed_rollback; /* Indicates failed rollback during migration */ @@ -1270,7 +1275,7 @@ mlxsw_sp_acl_tcam_vchunk_migrate_all(struct mlxsw_sp = *mlxsw_sp, static int mlxsw_sp_acl_tcam_vregion_migrate(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_acl_tcam_vregion *vregion, - void *hints_priv) + struct mlxsw_sp_acl_tcam_rehash_ctx *ctx) { unsigned int priority =3D mlxsw_sp_acl_tcam_vregion_prio(vregion); struct mlxsw_sp_acl_tcam_region *region2, *unused_region; @@ -1279,7 +1284,7 @@ mlxsw_sp_acl_tcam_vregion_migrate(struct mlxsw_sp *ml= xsw_sp, trace_mlxsw_sp_acl_tcam_vregion_migrate(mlxsw_sp, vregion); =20 region2 =3D mlxsw_sp_acl_tcam_region_create(mlxsw_sp, vregion->tcam, - vregion, hints_priv); + vregion, ctx->hints_priv); if (IS_ERR(region2)) { err =3D PTR_ERR(region2); goto out; @@ -1333,6 +1338,7 @@ mlxsw_sp_acl_tcam_vregion_rehash(struct mlxsw_sp *mlx= sw_sp, struct mlxsw_sp_acl_tcam_vregion *vregion) { const struct mlxsw_sp_acl_tcam_ops *ops =3D mlxsw_sp->acl_tcam_ops; + struct mlxsw_sp_acl_tcam_rehash_ctx *ctx =3D &vregion->rehash.ctx; void *hints_priv; int err; =20 @@ -1347,8 +1353,9 @@ mlxsw_sp_acl_tcam_vregion_rehash(struct mlxsw_sp *mlx= sw_sp, dev_err(mlxsw_sp->bus_info->dev, "Failed get rehash hints\n"); return err; } + ctx->hints_priv =3D hints_priv; =20 - err =3D mlxsw_sp_acl_tcam_vregion_migrate(mlxsw_sp, vregion, hints_priv); + err =3D mlxsw_sp_acl_tcam_vregion_migrate(mlxsw_sp, vregion, ctx); if (err) { dev_err(mlxsw_sp->bus_info->dev, "Failed to migrate vregion\n"); if (vregion->failed_rollback) { @@ -1358,7 +1365,8 @@ mlxsw_sp_acl_tcam_vregion_rehash(struct mlxsw_sp *mlx= sw_sp, } } =20 - ops->region_rehash_hints_put(hints_priv); + ops->region_rehash_hints_put(ctx->hints_priv); + ctx->hints_priv =3D NULL; return err; } =20 --=20 2.20.1