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=-1.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS 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 CEEC8C43381 for ; Mon, 18 Feb 2019 11:19:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8DA87217F5 for ; Mon, 18 Feb 2019 11:19:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="K6t1AWob" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730325AbfBRLT1 (ORCPT ); Mon, 18 Feb 2019 06:19:27 -0500 Received: from mail-eopbgr10080.outbound.protection.outlook.com ([40.107.1.80]:23475 "EHLO EUR02-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727058AbfBRLT1 (ORCPT ); Mon, 18 Feb 2019 06:19: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=llHtqKdoR3ZN7Cgvthb2rSTj6o5J1mUCp5X84l3JHTw=; b=K6t1AWobyEfg9R4x9vBBOxVOKpygi3t+I++aV7DdwRHzwrpEdaqNkpB8BRu5FMSAlaahOQCbNvSVGxj7jKVlUdzyVNaJaI3f48F+qmnsUZgfdx1XsRWerTX7Y3heGK4Z26hCS3GG2YWHmnezLYPamKPNHx0DOCTkrd2UVlb4Nb4= Received: from HE1PR0502MB3641.eurprd05.prod.outlook.com (10.167.127.11) by HE1PR0502MB3849.eurprd05.prod.outlook.com (10.167.143.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.19; Mon, 18 Feb 2019 11:19:21 +0000 Received: from HE1PR0502MB3641.eurprd05.prod.outlook.com ([fe80::4041:bb68:2af3:eab8]) by HE1PR0502MB3641.eurprd05.prod.outlook.com ([fe80::4041:bb68:2af3:eab8%5]) with mapi id 15.20.1622.018; Mon, 18 Feb 2019 11:19:21 +0000 From: Vlad Buslov To: Cong Wang CC: Linux Kernel Network Developers , Jamal Hadi Salim , Jiri Pirko , David Miller , Alexei Starovoitov , Daniel Borkmann Subject: Re: [PATCH net-next v4 10/17] net: sched: refactor tp insert/delete for concurrent execution Thread-Topic: [PATCH net-next v4 10/17] net: sched: refactor tp insert/delete for concurrent execution Thread-Index: AQHUwee5bFQVKofYikSPO7fvQO8ZsaXhhVaAgAPuZgA= Date: Mon, 18 Feb 2019 11:19:21 +0000 Message-ID: References: <20190211085548.7190-1-vladbu@mellanox.com> <20190211085548.7190-11-vladbu@mellanox.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: LO2P265CA0375.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a3::27) To HE1PR0502MB3641.eurprd05.prod.outlook.com (2603:10a6:7:85::11) authentication-results: spf=none (sender IP is ) smtp.mailfrom=vladbu@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [37.142.13.130] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4c4d45f3-cd2b-415c-e1ce-08d69592ee31 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020);SRVR:HE1PR0502MB3849; x-ms-traffictypediagnostic: HE1PR0502MB3849: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1;HE1PR0502MB3849;23:xaIm/xyzjkWkflUmAOdeOSjZoTmV+18iOhPFc?= =?iso-8859-1?Q?qxcC9wTZa+LjkoX+vLbqS5TTJzpdSuH1l1xNA8xzn1sNWnykwQkbhzcjp6?= =?iso-8859-1?Q?n+o3IMfgyzrs4pNbNLT/1/Njr4wVObwf8mJaw5UKl+3ZuiY/175kYRWEZQ?= =?iso-8859-1?Q?3lqN508cG08hJkQmyUQZD8ZpAINXd50n1mpT3cniVgCLVtCSeSW6IDRV5k?= =?iso-8859-1?Q?Ar67JfuE3/DOsy2jrYSbJkZldNVmhk9S7nn0qPRdtj4iupDNxqZ8AJOcTx?= =?iso-8859-1?Q?UAFB99DA7G0dIRzmPqgCIDRmq8YFjFIlPThSPqdnJPFPntAsS79BzH8J1Z?= =?iso-8859-1?Q?QzGSuEkkJEWSZCWWGN+7ONENqxX2F+r3csAjaN0RYXIitntjNWmVfK0zQs?= =?iso-8859-1?Q?6Ky0E+YINDDg59Dyza8i9S8Ba29z4OGIx4GkjxcsCwSOaZo1nDUdweMNBE?= =?iso-8859-1?Q?8jy7fey8qECzsY1vQypeu9EJ3q3PpZ6t1c1IdJgMlt6B+TTBi90q8I6yIf?= =?iso-8859-1?Q?zY6anAtISWYI2VTwR/YhoevI+mcusHWYEHPRZAW8N2Gk6a29ezAH5VjVO/?= =?iso-8859-1?Q?cBzvThqawyWR3ir1tuvZwIBrNstTrUFTgddJlNBOhD/5nCCzO4PVOY6yuv?= =?iso-8859-1?Q?e+Xsruom4HvCyt4H0o59mTPCZ3uZORgWsdgU/qaqlYe4wM1tFoFlSdnyC6?= =?iso-8859-1?Q?7dYcSY7NPpNNT7tnSwdau+OOjVEdwWykBJnqMnyHSy7Xdg2DO9ATjb3Oz7?= =?iso-8859-1?Q?Ylwsf6XWdbWq1BW1bCn3CshBJ5KyVvd6DAkZeJWRHE3zLFQIluMUdiht6X?= =?iso-8859-1?Q?d1xZMbD1jd+8us2hVKSBtoc+VX3v1J/D0/9D3+HN6PsEfCysjqMx79Rv1Q?= =?iso-8859-1?Q?YJNq48uorD97LRhcU2II6un1C98MoYXCyV265p/oiI8MDo2DyVFTlse1vT?= =?iso-8859-1?Q?SdEvsAuiHYar5y5840HgCqV9485xUCAHLakMQTQtCZ30QUrstXqrkAORJN?= =?iso-8859-1?Q?Dp43ceY1DT9mm5UA0eqQyIFjJtDrWqrBvGmcMArkP1vNIcePbfyl1cZfpC?= =?iso-8859-1?Q?/wRHxX5VFsDmW8yFS9O4gX4bObmjaNTkrWqXCsRooTP9kUOFFSe+vgfwDL?= =?iso-8859-1?Q?K4CQR8UJ7mJTnn6AptAsKFhTl90YfIKuOObnhrbrlPiRLk10kVeR08QqfE?= =?iso-8859-1?Q?+wF0PWiPJ/JURsHS8ri5uKIz74gP0WH65KoS43zXp3a96MJBRtbtDraruz?= =?iso-8859-1?Q?S5fMTmxeGFP6LKzfxDuWNKGe9Hy2nAD5xdcbsuAhrblybNgQ+X+7OqqQDZ?= =?iso-8859-1?Q?uYLxPa3X4s6WyO9EegpfssjhH?= x-microsoft-antispam-prvs: x-forefront-prvs: 09525C61DB x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39860400002)(346002)(396003)(376002)(366004)(136003)(199004)(189003)(71190400001)(71200400001)(54906003)(229853002)(2906002)(14454004)(6436002)(316002)(478600001)(6512007)(68736007)(6486002)(2616005)(476003)(4326008)(86362001)(11346002)(6246003)(36756003)(486006)(105586002)(106356001)(53936002)(305945005)(7736002)(97736004)(446003)(66066001)(25786009)(26005)(6116002)(3846002)(99286004)(81156014)(8676002)(256004)(81166006)(14444005)(53546011)(52116002)(76176011)(186003)(4744005)(102836004)(5660300002)(8936002)(6916009)(6506007)(386003);DIR:OUT;SFP:1101;SCL:1;SRVR:HE1PR0502MB3849;H:HE1PR0502MB3641.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX: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: AUuXofTk3mn5FqdFfDbW4fSmgqHkCvgYuGo6+Fu4OTgnnoRgZGlZw3ojjJ+cMRZ4LIwnJVSkIBUpm5Xk4Pj7m5mb3Enu5Qz/JNh5sDyvY/OL4unqOJqV8Mjkl+So18mnEpvXE+LU5Xy8qT5CR5eQFU6PPeUnA3NyycRN15vJ2BPB6KLwhm/nhECq+wtynwwQ4SVaSuP8MzJxYpLK08BtXuyxiRoGPFJgFToevWCCrAsY5O8kXL7t9jYeoMGvrcxIRSO99hrk5Q3dYzPLSkgPHunXVok3G5AU/wazES1fXLSSZ/4i8FosSr5Hom8o6to/MNEvGq5P4/IOeeHK7XdeLTaoKONJ5RV6NKMHqiilQN4tolqKNBKco1Al66uB7G54a89w/FtPh9JaNjcTETtz6Ll8FFHWBphuNzrKwxIFsU4= 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: 4c4d45f3-cd2b-415c-e1ce-08d69592ee31 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Feb 2019 11:19:20.3747 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0502MB3849 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Fri 15 Feb 2019 at 23:17, Cong Wang wrote: > On Mon, Feb 11, 2019 at 12:56 AM Vlad Buslov wrote: >> +static bool tcf_proto_is_empty(struct tcf_proto *tp) >> +{ >> + struct tcf_walker walker =3D { .fn =3D walker_noop, }; >> + >> + if (tp->ops->walk) { >> + tp->ops->walk(tp, &walker); >> + return !walker.stop; >> + } >> + return true; >> +} >> + >> +static bool tcf_proto_check_delete(struct tcf_proto *tp) >> +{ >> + spin_lock(&tp->lock); >> + if (tcf_proto_is_empty(tp)) >> + tp->deleting =3D true; >> + spin_unlock(&tp->lock); >> + return tp->deleting; > > If you use this spinlock for walking each tp data structure, > why it is not needed for adding to/deleting filters from each > tp? This lock is intended to be used by unlocked classifiers and I use it in my following flower patch set extensively. Classifiers that do not set 'unlocked' flag continue to rely on rtnl lock for synchronization.