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 AFC56C43381 for ; Tue, 19 Feb 2019 10:25:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6FDFC2177E for ; Tue, 19 Feb 2019 10:25:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="snImzMC7" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727787AbfBSKZp (ORCPT ); Tue, 19 Feb 2019 05:25:45 -0500 Received: from mail-eopbgr30069.outbound.protection.outlook.com ([40.107.3.69]:29376 "EHLO EUR03-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727023AbfBSKZo (ORCPT ); Tue, 19 Feb 2019 05:25:44 -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=6uoxhMueg/oD1zQBx/Xsbhmlv1g9B1e5E6dkUq34YVQ=; b=snImzMC7bhHYVbGNuZGxsfOf4sJg3HeHxXwRMDZQn27+m0iX55A1Fo1eNANsY6q3S06lgRTW28r62GOExfUA5OPRU+3icgDKOyPOcmPUfYNuzXc080PWj5ER+jeJ3NGQQCk3jjZcbUqLfDnSwjLcOodi0MCRr6wzZSKdxPW5seo= Received: from VI1PR0502MB3647.eurprd05.prod.outlook.com (52.134.7.141) by VI1PR0502MB3869.eurprd05.prod.outlook.com (52.134.4.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Tue, 19 Feb 2019 10:25:40 +0000 Received: from VI1PR0502MB3647.eurprd05.prod.outlook.com ([fe80::d058:d17:78fc:969a]) by VI1PR0502MB3647.eurprd05.prod.outlook.com ([fe80::d058:d17:78fc:969a%6]) with mapi id 15.20.1622.018; Tue, 19 Feb 2019 10:25:40 +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: AQHUwee5bFQVKofYikSPO7fvQO8ZsaXhhVaAgAPuZgCAAJBJgIAA8xSA Date: Tue, 19 Feb 2019 10:25:40 +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: LO2P265CA0226.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:b::22) To VI1PR0502MB3647.eurprd05.prod.outlook.com (2603:10a6:803:f::13) 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: 24affd76-4812-4f50-9527-08d6965498cc 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:VI1PR0502MB3869; x-ms-traffictypediagnostic: VI1PR0502MB3869: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1;VI1PR0502MB3869;23:mcYc+oLvZGWrXL7oHHMVcI52rhJ/+GZNwGWXE?= =?iso-8859-1?Q?48bsCDsCSd++h+hbh1nmsPvwEKRoWHrnWQWZsKrfDHWQ5LAlL2jNadzWZW?= =?iso-8859-1?Q?FANPUEaAXObtC5LlrAdzwhFVGoS4s4i2j9DnZAV17d34CvVOvJjUSzPPkj?= =?iso-8859-1?Q?57/8sJBAHcwmHyZEUCbE9k+qutbGB/ljfPiRHP+UL/6o6eoxJo8TAo/hBn?= =?iso-8859-1?Q?nzW1ClHrkdG7SmLshSI2sM3Yt4MotABlI8+4ES7xTnQJx30f/wLDXvouIn?= =?iso-8859-1?Q?LBfJKaREI14REyzeuYtHmeQVIClCDvfcHHckVrzIKM28SSD0JtVfuIJWye?= =?iso-8859-1?Q?9syM39xSoe7ZRh3+bCfRzT8kArh8VAjIv+5u3ozwEW4Jmp3WFNtPlU5ndM?= =?iso-8859-1?Q?cBvUBctV95FTrdazHqiIQ3T5X+zr5wpX3iG4mSo4bljdZBDiq3p9mwid3Q?= =?iso-8859-1?Q?Wn5FDouTTG7eRN/mM6nW+Ndb9LXKpsE7/XOK+CYm55rL8vDyxQmIrU3Vnj?= =?iso-8859-1?Q?zcJnlFbvyaGPbQq/5D98qw7WWRisLqUZR9TcF/lfBGMKFjH+rhm7N+M+ml?= =?iso-8859-1?Q?hUTfbx3jMh8hkbhAr5JziIRoYR5t216zaumQR/0BQrM5zRXkFF3vd9KOw4?= =?iso-8859-1?Q?wP6NYa5zumU9i6h6DCNngRckN7vgjal5TTs2DQ03g9gNj5pAnMZ9KnNOCz?= =?iso-8859-1?Q?EW9DOLix63ybUk6HQn/Vda05HLkvKTaGQSTghLidZEzSV2tdQJ6g2Sn1aT?= =?iso-8859-1?Q?vEgUYrOXuJoGhoeJnYwaMHasQ8atPLX7dIdShhyJclEAf3JDwWuOLgpVUG?= =?iso-8859-1?Q?cp/oAfggcb2Derh3bUYmET1BVZyn7ZG/XGHWIbAZn//X3CZ+AsENfgVPk0?= =?iso-8859-1?Q?dnuHgAyOBHeXrQzUVYHYp1//FtUY6iJnRwGA7h2YzDC/5U3JTsD/EU2Mi0?= =?iso-8859-1?Q?gxOiOEDyn7GMMEGrNTKfvi972q33BKz6WkiHSIFY8IPGtMWFYb/eaV3GMQ?= =?iso-8859-1?Q?JP7AidLKTKmBlblyMoUu+hF6rWHgz/4plsqMj/wuiVkQX1S+vjmjcRWBj7?= =?iso-8859-1?Q?qs0KEhV9iNwTGfTKYxs/haCrr+7xzSq4XywjaCfs9FLlSshv3vZIZZHjd7?= =?iso-8859-1?Q?kqF3S75Yul3jcM0aZSMb4nf/83D95oyp//fbyEvoRkXUAgEs43UCCyzQj4?= =?iso-8859-1?Q?JFFs7yAxSH1/DOluks3TrPkEySFCWi0ItQEIwPPVutRb25b4arMzD3sWUD?= =?iso-8859-1?Q?x/v4Dvi2CxaoufcKwoCIrTTDhrFdZPbeqhrZ1donbK869SjlUcO4aqyce+?= =?iso-8859-1?Q?6LTGjQ9cOd4zb2rLLTj8dwXht?= x-microsoft-antispam-prvs: x-forefront-prvs: 09538D3531 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(376002)(346002)(366004)(39860400002)(396003)(136003)(199004)(189003)(97736004)(316002)(54906003)(71190400001)(99286004)(14454004)(86362001)(2906002)(76176011)(6116002)(6916009)(71200400001)(3846002)(68736007)(53936002)(478600001)(6246003)(305945005)(2616005)(7736002)(476003)(486006)(105586002)(186003)(446003)(8676002)(52116002)(106356001)(11346002)(81156014)(36756003)(386003)(6506007)(81166006)(53546011)(5660300002)(26005)(102836004)(4326008)(25786009)(256004)(6436002)(6512007)(8936002)(14444005)(6486002)(229853002)(66066001)(93886005);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR0502MB3869;H:VI1PR0502MB3647.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: BVAaNN1IRFPLiP4cGNMYIppu4FaoFVEuAb6jkPUEWo3xhNx9MaIdHryglrzCGYB0IYXgyfqJpBDaK0i9hctIgBt4F3ge0C2ckwvhRaczHy9DydytQXw9wnqlSbWES3Zag6bkeiaXHLslIsypyPnIKDgzeWkYFyDzhMsZv1tSWE9HPCbk5f+ATNoiM2hzrxcb3WoZxH3WQRIdgIoA6tQwwPwAe5ld66b+TdMFyZqAMDs/sxgi1WM7lqR7iaaYkrCFYPGaXhfkI7sd10Fk6KzNnKlwOUTO+JMC7hy4OL/WQB3mG0WPL3SeHWA3msVgYWeyuW3+sx0hLDWlKsGFk3aTJL6+JdyUCWjTc/gWSLiZycgxmZZAgK4FdNCEdIjsvVmTBhzcDTA7THl8BWQnPTwiXERF3BA1wNENazcGgf8IoxA= 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: 24affd76-4812-4f50-9527-08d6965498cc X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Feb 2019 10:25:39.5661 (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: VI1PR0502MB3869 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Mon 18 Feb 2019 at 19:55, Cong Wang wrote: > On Mon, Feb 18, 2019 at 3:19 AM Vlad Buslov wrote: >> >> >> On Fri 15 Feb 2019 at 23:17, Cong Wang wrote: >> > On Mon, Feb 11, 2019 at 12:56 AM Vlad Buslov wro= te: >> >> +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. > > It is never late to add it when you seriously use it. The way you > split the patches is really annoying for reviewers... I made a decision to put all required cls API changes so at this point anyone can implement their own rtnl-unlocked classifier (or refactor existing one for unlocked execution) without any further changes to cls API. However, I can see how this can be confusing to reviewer, especially if they are not familiar with proposed flower changes. I will split my patches according to your suggestions in the future. Thanks, Vlad