From patchwork Thu Mar 29 16:20:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kirill Tkhai X-Patchwork-Id: 10315671 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 4F8B26037E for ; Thu, 29 Mar 2018 16:21:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3D6312A2DB for ; Thu, 29 Mar 2018 16:21:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 320032A43A; Thu, 29 Mar 2018 16:21:06 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BAC3E2A2DB for ; Thu, 29 Mar 2018 16:21:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752555AbeC2QVE (ORCPT ); Thu, 29 Mar 2018 12:21:04 -0400 Received: from mail-eopbgr00101.outbound.protection.outlook.com ([40.107.0.101]:50720 "EHLO EUR02-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751714AbeC2QU7 (ORCPT ); Thu, 29 Mar 2018 12:20:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=PeUK/+CA28UbfQnXukxdH3uQO0FSkzg4YjflrAACMiM=; b=Yu2FSrk33PJThjLomwmeiG3hv3K59rnZ2+3hQIrY49KdN7jZH+mdtu4wFrW29AT/M5LKihcwWM5+lQ2cqGquQMizm85+Nz4k0oLotph0sfikHSChTOqsJx11yCgOR2cx9yjKH3w1wU7dXBeqjjG9EQ2FV37Gp9mSIg31NNGd+CQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ktkhai@virtuozzo.com; Received: from localhost.localdomain (195.214.232.6) by VI1PR0801MB1344.eurprd08.prod.outlook.com (2603:10a6:800:3b::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.609.10; Thu, 29 Mar 2018 16:20:47 +0000 Subject: [PATCH net-next 2/5] net: Don't take rtnl_lock() in wireless_nlevent_flush() From: Kirill Tkhai To: dledford@redhat.com, jgg@ziepe.ca, davem@davemloft.net, pablo@netfilter.org, kadlec@blackhole.kfki.hu, fw@strlen.de, pshelar@ovn.org, johannes@sipsolutions.net, paul@paul-moore.com, sds@tycho.nsa.gov, eparis@parisplace.org, jmorris@namei.org, serge@hallyn.com, leon@kernel.org, yuval.shaia@oracle.com, parav@mellanox.com, danielj@mellanox.com, ktkhai@virtuozzo.com, majd@mellanox.com, nicolas.dichtel@6wind.com, vyasevic@redhat.com, paulmck@linux.vnet.ibm.com, vyasevich@gmail.com, gregkh@linuxfoundation.org, daniel@iogearbox.net, jakub.kicinski@netronome.com, ast@kernel.org, brouer@redhat.com, linux@rasmusvillemoes.dk, john.fastabend@gmail.com, dsahern@gmail.com, jiri@mellanox.com, idosch@mellanox.com, vvs@virtuozzo.com, avagin@virtuozzo.com, roman.kapl@sysgo.com, lucien.xin@gmail.com, christian.brauner@ubuntu.com, jbenc@redhat.com, pombredanne@nexb.com, linux-rdma@vger.kernel.org, netdev@vger.kernel.org, netfilter-devel@vger.kernel.org, coreteam@netfilter.org, dev@openvswitch.org, linux-wireless@vger.kernel.org, selinux@tycho.nsa.gov, linux-security-module@vger.kernel.org Date: Thu, 29 Mar 2018 19:20:44 +0300 Message-ID: <152234044431.19153.15864418521565135021.stgit@localhost.localdomain> In-Reply-To: <152234005959.19153.17907173734141707348.stgit@localhost.localdomain> References: <152234005959.19153.17907173734141707348.stgit@localhost.localdomain> User-Agent: StGit/0.18 MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0401CA0080.eurprd04.prod.outlook.com (2603:10a6:3:19::48) To VI1PR0801MB1344.eurprd08.prod.outlook.com (2603:10a6:800:3b::8) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 33e8851d-b828-4083-4ecb-08d595910988 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:VI1PR0801MB1344; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB1344; 3:46fgX5nZJoBC7VbSpVlfS5mGoWF2sb3S1PJKeJhEXJdW3GpPpVIqN8ffwSy93XTnqDbAbMLEqz6KT0xI+D2yAT2x34lOkbM9rp6axiBq4Cae/eAgSk9EdiUVkVLaaUUMa3HuJqy+zwmmLqTeRgIM7klsoPlh1WnK2KUogpkZFsYzhXYM/UHucD7eGqren/a+MfUnUMiKUEUOrQS/RR7TTbrLMPqtmx1n61OwTj0ZoQ0sCW/64JGPkV4oyYTrYbqG; 25:NpHuVGTAEVbBz1MTywXRivxKB7j6NaE2IGNlpMyHF8X/ImUHp4Zyk1/yTocPMAgvhrDB6iEk2cEyrZF4KUSOs7+CzkOvauhrT7zSo7FFP8cpaOPH2XJJlIW1P/SKDey46VMoIVHeBNlnpjEA7iG9Fe8zKzB3gJ5EyP9CvwlVtIc7Cp8b8qgbu3pwyL45KLs1x5qENyN80fSssS9A8YzFrQ32Swi29puwUL/v8OnC5GN/MQM1jLACsieBEAWBbiFI3BQxVn8f8k2z2iFlKV4rRHmNcRTSqjp9eJsn5TzeaoTvYsZbtkzdXZAX82wJujgUB0VzA5FrncsmW/9E0vC3vA==; 31:kjU0de24VkJT4uGUNSvXEUyUe6wKuN0mB+iesPFOyDa+YfUvQtbaWWUlAzZDDe1/oeMekNRBpLi30KC4fYn9XpVTUEzYm2B7W4TgkJMo/JdFrJmKP8FwVrfN20+7jmaAiPoracZEXo1Faw1OvEJ0a1FDcBCYjsIDQ7O64UQjTGqE6ZqFeLvXHEtHaWMtPCryJ4obps34YB9jIq0sCH0k2OPvJX/fiBRWUSe4CRd6/XA= X-MS-TrafficTypeDiagnostic: VI1PR0801MB1344: X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB1344; 20:vVReykoekGvh9DPeIV4uLr8+g+U5zBv/kcWctWPi7OBmAhoaBCEBekKyHVAxGCyp+yDpynTGuGO/bOaM+O2AR/J2c5ZmS0SAcED6aK/TZBmGYo4dzS4ojkUwHgTozzZzLsUk4hb7xFS5/zuGkReb5rmXOBaH7cJd7Q+jx4C/vf8pHzURtZdkH8xUWuF2YZSPXqGP7sZbtny4gaaNNltAWjpagStLkTzsRkHcvYDkdN+5IJMW32SSBrLsWs3RqRY/TSBe5FKzxyVl4Qaq4jz8VKF3JfH8pwockSGLqByfsFLhB/1y9Vcrgd3hKGeUJBAlp7pCNJXPLudqY1k3ZuIXUPgIFq8BF4a1+ah65boz9vgvpeWQVX0HFA/FdAL2u/wxXmGV6IC65I6zA9Z9atU1iddrkJ6YXfcqWDaiizt94y/7gudOMXrVlQ+EaKleUlllTBhMmQWu1kogyHmI/fZCqOQIq00MotK/kVz3IJ+uEU7OLSj6f9wKz0GWwbfiv39y; 4:VCalnyn3E9zjJAWm00wl7oKEKRJQk4fy06V3AeKrOuVyQ7iaWt5GQMuHrj10CRbx31x4avgd1ukmRP4fcrjwgHyOcXg9WafsuA6HjWTc+RUgUbzLRKr/Xx+YlqEW42pnQ1bFviqS+vdhFPzmoTVXgZ2IFC/IgZPR6ctXWeIMPdlBzLeu3oqD1tbWsaFqJUng4Kr2NrHvfg/IsSuzXvH4xkPp4D/wp4xpHEiCOzR1JOdOcSIsZGniZtp2Jub4azSQMVxkthiWVdEglNBbkV3tMg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231221)(944501327)(52105095)(93006095)(93001095)(3002001)(10201501046)(6041310)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(20161123564045)(6072148)(201708071742011); SRVR:VI1PR0801MB1344; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0801MB1344; X-Forefront-PRVS: 0626C21B10 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(346002)(396003)(39380400002)(366004)(376002)(39850400004)(189003)(199004)(106356001)(476003)(7696005)(478600001)(76176011)(59450400001)(316002)(446003)(33896004)(8936002)(6666003)(7416002)(2906002)(575784001)(230700001)(11346002)(6116002)(58126008)(86362001)(2486003)(7406005)(52116002)(5660300001)(305945005)(23676004)(956004)(97736004)(105586002)(9686003)(103116003)(3846002)(50466002)(25786009)(68736007)(55236004)(6506007)(16526019)(386003)(7736002)(53936002)(61506002)(81156014)(39060400002)(26005)(8676002)(81166006)(186003)(55016002)(47776003)(66066001)(486005)(486005)(921003)(1121003); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0801MB1344; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtWSTFQUjA4MDFNQjEzNDQ7MjM6SFZ5ejBQZW1qRWpodlFDUVNtQnhNM01t?= =?utf-8?B?MkRWWGdtVWpzVXQ0MEw4UHZsZFNQSEtlVEFaUHo4MjZwWHZvQ1ZrMmJTazR2?= =?utf-8?B?dGJQZGNiL3JsNUhQSXI3SzhpajdLWFN1NE9VUFJ2NkVtNUp3emxzL2dPdFU4?= =?utf-8?B?WDNCM2lJU016NXd2MGZLa2E3T0ttbXVFb1pLenpXOFhwbHpsb2tHTzNPRmdD?= =?utf-8?B?SVY3MFgvSFNxV3E3OHhXM2NIZGJwWm5tUTJ2bzVCY1VGbC9qWkI4cG4vMWVD?= =?utf-8?B?Sk9kL21HWkR3L3EwRXBUREJFTmNkUWVtamhhWFJLdTNQMUt2QjJUMFFNZ25U?= =?utf-8?B?SngzSmRSeUp0djNjTmNLbTJvb1lzTlEyZk9zOHV5bWhjZVAwZnVkMzBIdmxy?= =?utf-8?B?VTBhUlp4YlVvMVhmcXovY1Y1UlpZV2I1dWxUVUp0OGQwTGF4NStrWE1QSTFo?= =?utf-8?B?aGZiOGxHNDFnT1J5ejBiWDc3OEhoOUIwV3NQU3ViQXcrN0xBWVVFeDhiMFVL?= =?utf-8?B?NEkydUQ3T2hobFpjSE93TWV6ZHorVmxYelphODFNODRDRnV4NmkrNTArWFJO?= =?utf-8?B?cXQ4WjFJd3lsOXlYc3drZW1uS2ZyNnc3dU81d1ZvV2ltckZOTzFCMGN3SEda?= =?utf-8?B?NHI0V2VxcU91WXdEd2E2MTJxZnFoeHJPV0Y5RGlOWDlYL3pmbHg3eFBoeitk?= =?utf-8?B?R2ppdURiRjZ3UEdlUG5POC9yYjh3UHVmVEM0eHQ5WkRZaCt6ekxxZDBEeUov?= =?utf-8?B?ZnRxbkFkTzYvanl4Z0RzRENQSFNCS1Q2cXNhVEtCbTU2eGpyd2d0TVhjemVB?= =?utf-8?B?cC9jbkNMS25JejVnSUNNbittTmY5WWFSL0NqRko5dGtLd3hjQ2t1Nm10TEFR?= =?utf-8?B?TTFXMHdja1BkSEtIcVQ1OEw1cmhYQTdPNTFLamtaSFlSS3RnUGlZK3ZrUmpm?= =?utf-8?B?WGllTjRId2lZRk9yd21kMzMzRUdXMTFPbVZTTzB0M05OR1RTdEtjYzZnU0dK?= =?utf-8?B?akI5OWJhaEUyZjhyNjVBNjBlczU5Q3pRRXJ3UUl6NXd4ZGJiWnR1bXBFTXNC?= =?utf-8?B?TTNyNUVkR3IxUHZxT1Y3TEtJSmY3d1BNeXVPMzN0K1ZYbkN2blRpWnI0bC9k?= =?utf-8?B?RkZ5eTlodzY3UGZIV1ZhUnlhK3pIdGw4SE8vc0d1eGFkL2QxYytBSzhQa2J3?= =?utf-8?B?elVxQlY0a1BDcDlWRERURFZjUUFaZElSWVZnVFJHNmZXTzlVa2x1SVBVRjV4?= =?utf-8?B?RCtRcnZ0Rkx5U0hRRzIwU0VJRVlPYlpKNzhoaE8rYzQ2bFRzSlp2VFlHTDdi?= =?utf-8?B?eC9xUCtnUE5sYnV1UXpLbDZJelZINkJ2cHh1cjU1a0JNbkF3V0FXYnFteVAr?= =?utf-8?B?aDVhRVVBNDk0TmpOb01GSEppWS9nOUpjaCtqL0o2LzNBUEdneGIrSjl6QSsr?= =?utf-8?B?bjNsbXc2ekx0ZkV3YVFTdkQzOFNMMEs5VE1LbXBTSHUxcnhoUDhJMEU5Wk9U?= =?utf-8?B?ajloeWxrUXZDZklaUzFHYlEyVkUrWXl3SmcveVRTUzlNRVJmS2tRaE5sV25K?= =?utf-8?B?NE10U3Ewa1VISTd0eEorZHhxSWxpMWt2cS9wUTJLRDJDTklYQStRRTdYekI3?= =?utf-8?B?R01kK1Vpb2h6UzgzOUc0NHg1RnZndXVkRXh2QTNndzBuVVFVSWdoaFJPVDBD?= =?utf-8?B?ekUwWktPeW54bTA1YWsrV1lXOFN4c2dsVkNVWVl6dkUrSnZJcG5TNXBjQ2V6?= =?utf-8?B?QmlPbzk4UjJmcitMZmZBTXRQdzRkYXFLMnNaTEFEK1FzenZSOTVMeCtOVktF?= =?utf-8?B?ajVsOFB5dnZBU0thK1FTVE5nRDYzWks5c0NGb0FPUEREOC91VkNmRS80UlV3?= =?utf-8?Q?/tdzLPRD/7gl/tUcqumqiEPN84sXrjvjHw?= X-Microsoft-Antispam-Message-Info: iu2kUCX3lX50MB6EZGJS54fpwMtvPye8tKg4bpPf8n/U9dv4Gwjg3wHuv29t13+CYw1c4eftLi5PV27zguk0OrseOKfcFxm6lqVs1x0adgbUku6EzXNEfwHCqELYDHophgk1w4Xy+KPbXWtAg6GBclO/INhmTrc6L/krFoGJXBiPvshxquAf032r06bQ1ABl X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB1344; 6:biQanEV+p/UfQtY23E0fKCmfWj5ZMAJwt7HCU+/sXAayITqBi/KIs/1+JSuzLx7gCm6mOGmL2PuFoaAspLiNVV0I6ItFUSLhnLU15+3ffHDLnFknVQF1sHxe4cikeL3VNo+4XkBKEWdXKUhtXvwQblJ8ENlHp3h3Lq6wMeebMZ3LvbFwm1jq6CJg8mP16or5+2r2Vv8dwS7Yqr35DFwzDFF8dhiq77i/y4PCQZ/tarRPkN0FvslvEuDC+jFZwIoZJr2RvlYniDlb73Lu9Uhw81ZLC8DUC745WWa9vfWJwRhmv89WdgwRlf5SjHQdjZA2TAebTqS//38vR6VwYjweoXza+n59tnsR4mtEALAzK+h30UBn8R6P6m2VWdBinnfgKMGqqRolQc+sTRAugtOV5D3OR9QpiC55Kt8HaoXQ6LaPtxwefXqOyjndw7Msdd6/3GvCWHCD/4tniImddY/g4g==; 5:0F/8sgxMep+uPqm1qpzOfIY3jdqkdxmmAcdmONItbSZueveyzcV8icVr/8JESxyM0pqxQbC2bCUgPLeuvbAe2Do04bf4jcWctwkNWrMcW64hqROblzj7DP8jq6t1lrMF8ismLcfbpJYjeu1J8rWhxwnVsnAS201Knvc1WxdFXNQ=; 24:7hbmU2YbOOyPjRtGgmrRHK4Gi3FoHIiXrO5v09OnhTnRRxWPkl02M9E14I/DRYz7Lhz7oO820u4mztY4lIJAf4hpO9MBTx2xc9A9TFQF51A= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB1344; 7:FY+HUYvizYh2c9cnnwBWVVoKysM2EyrEKQHUuB3oVY9vyat/4ypTrHj2DsAWMCm6S6feevDoyEKPLre/O5g9aEyGEQp5sL4smNNnJ0Vzzp4n9ZakwpbQ+yB7O/f3sulwe1IlGz/f4RKqsGYrqtRwTxm6WqTArOQeKi1hfpKu6XIBXJtSczhxi+iaCqn5wyOfGFCHAeQe6/YzLhi3CGa3utaUr86g8B3gla8H1abvdh75nsKw6G0z+SXJrpblf3B1; 20:kd9w7o/N60kg2P3ytP0pxGUFEwPmPbhTWzF0VlKTCufhtgnSSAm40ZfNQwVc8fV0XS7ZExpXWkziV8IFl84y7IVrdscaO7h1i7x5A8cJf0T0ddA7gBnxV/tlVAu0xKVXdrW4Roq/kAXzDlHIZpcbYpAnh8w0z905JIHCdvFQO7c= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2018 16:20:47.2079 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 33e8851d-b828-4083-4ecb-08d595910988 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1344 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This function iterates over net_namespace_list and flushes the queue for every of them. What does this rtnl_lock() protects?! Since we may add skbs to net::wext_nlevents without rtnl_lock(), it does not protects us about queuers. It guarantees, two threads can't flush the queue in parallel, that can change the order, but since skb can be queued in any order, it doesn't matter, how many threads do this in parallel. In case of several threads, this will be even faster. So, we can remove rtnl_lock() here, as it was used for iteration over net_namespace_list only. Signed-off-by: Kirill Tkhai --- net/wireless/wext-core.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/net/wireless/wext-core.c b/net/wireless/wext-core.c index 544d7b62d7ca..5e677dac2a0c 100644 --- a/net/wireless/wext-core.c +++ b/net/wireless/wext-core.c @@ -347,8 +347,6 @@ void wireless_nlevent_flush(void) struct sk_buff *skb; struct net *net; - ASSERT_RTNL(); - down_read(&net_rwsem); for_each_net(net) { while ((skb = skb_dequeue(&net->wext_nlevents))) @@ -412,9 +410,7 @@ subsys_initcall(wireless_nlevent_init); /* Process events generated by the wireless layer or the driver. */ static void wireless_nlevent_process(struct work_struct *work) { - rtnl_lock(); wireless_nlevent_flush(); - rtnl_unlock(); } static DECLARE_WORK(wireless_nlevent_work, wireless_nlevent_process);