Message ID | 151120300176.3159.5703813904973845848.stgit@localhost.localdomain |
---|---|
State | Deferred, archived |
Delegated to: | David Miller |
Headers | show
Return-Path: <netdev-owner@vger.kernel.org> X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=<UNKNOWN>) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="M5Rd/DJX"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3ygcrf4GYWz9s82 for <patchwork-incoming@ozlabs.org>; Tue, 21 Nov 2017 05:37:06 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753078AbdKTSgx (ORCPT <rfc822;patchwork-incoming@ozlabs.org>); Mon, 20 Nov 2017 13:36:53 -0500 Received: from mail-he1eur01on0093.outbound.protection.outlook.com ([104.47.0.93]:27552 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752760AbdKTSgt (ORCPT <rfc822;netdev@vger.kernel.org>); Mon, 20 Nov 2017 13:36:49 -0500 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=JTd71K6uDWCVWERLylT8jdAQO7G1XSIgDoYs6EqlCS8=; b=M5Rd/DJXau3C2Dqe5Um945QpvpvzpTv8fyCcrZQ+/7b3tnKyKNuX7GGqvPgP8A+3H1prAwg1Y6eDf/X37sbSC6AVm9MmAR+nOSvO71AVUSx+a50eWssLPVaj5lXuCzhjasNJVVK4wTS5KF28Kp+R3E2QZOFs0g9e/L7msBkowFk= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ktkhai@virtuozzo.com; Received: from localhost.localdomain (195.214.232.6) by DB6PR0801MB1335.eurprd08.prod.outlook.com (2603:10a6:4:b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.239.5; Mon, 20 Nov 2017 18:36:45 +0000 Subject: [PATCH v2 29/31] net: Convert loopback_net_ops From: Kirill Tkhai <ktkhai@virtuozzo.com> To: davem@davemloft.net, vyasevic@redhat.com, kstewart@linuxfoundation.org, pombredanne@nexb.com, vyasevich@gmail.com, mark.rutland@arm.com, gregkh@linuxfoundation.org, adobriyan@gmail.com, fw@strlen.de, nicolas.dichtel@6wind.com, xiyou.wangcong@gmail.com, roman.kapl@sysgo.com, paul@paul-moore.com, dsahern@gmail.com, daniel@iogearbox.net, lucien.xin@gmail.com, mschiffer@universe-factory.net, rshearma@brocade.com, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, ktkhai@virtuozzo.com, ebiederm@xmission.com, avagin@virtuozzo.com, gorcunov@virtuozzo.com, eric.dumazet@gmail.com, stephen@networkplumber.org, ktkhai@virtuozzo.com Date: Mon, 20 Nov 2017 21:36:41 +0300 Message-ID: <151120300176.3159.5703813904973845848.stgit@localhost.localdomain> In-Reply-To: <151120175301.3159.9577108443167812854.stgit@localhost.localdomain> References: <151120175301.3159.9577108443167812854.stgit@localhost.localdomain> User-Agent: StGit/0.18 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0901CA0047.eurprd09.prod.outlook.com (2603:10a6:3:45::15) To DB6PR0801MB1335.eurprd08.prod.outlook.com (2603:10a6:4:b::7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9d24bf8c-cac0-4996-ffd1-08d53045a7fd X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(7168020)(4627115)(201703031133081)(201702281549075)(2017052603258); SRVR:DB6PR0801MB1335; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1335; 3:0414RXXMwmpPqwHcqnHN7wwrE7paMOIS1hk7lw1H7ie4oD/epVjLjUwD8Xn+2p2rwepJHjcB0tXFjudUtxAXL5wng3aZROAmiXvvSY5ACiJV4JWRISX7dTlf2HG89UeoE+MPfUBbohu4W5Mf+U+jBnMB/dpC0cgY4dzglb+afAlZLT56p5NENtyHhDVYRzTqOzzq3yFHwin3wgrsUM5r5UUDfxQd/zzgg33+3kK6CKTHxxuRWP2EcokWuLzb2UNP; 25:m3AVrYNbaztNwwoahOhWGYddcmOpt6juFcp88QBWgBmd7gBdZVQu9HU3kKNStkBWG3OFQ1lAvndYWYS43jxRt0r6uIJYlUep54kG7w+LtnSK/8fEmsGB+b2qet+yBsZQf0ljYTS1eN1BPUh216ZzpDJTTx+DL6D/D3CqvCXFz78EZzE9Tj11+CGSV5pNnfqQ68ob2Xp/44pe/4Hq0/J4FaZs1ayjvmrzX+eUBeK0obfOVs4tG+4COqRiHzZgnk5EUaxiFK9/Yx+7qZhhQbhzXfi2yb+dRNJOfu9R2rT5Tajio8K0E+kNjnl5Q+P6WXh7euno4ajn/iTrvcBZ47pudA==; 31:UOHeQGdP1M43u0EpD+4iMkiwJ1jIi+E9gLnMTDtA524Vi27Kl5HP/IZasrgA9hMACL/qJJYMdmPM9blEM54nrwtumBB3qi22AdLM+bdK1EKV7sghwUoLPMOuXfVohmkDV0bIz5UXzj6ohZpiFM0budA/54jsIpLCoimXGTrZ7/eA06eEkVV5OlgQwvhNTN4B6w04L8zY/ntGNWJbVe3+w4dM2Ww6ikEumAKl3lrMW4I= X-MS-TrafficTypeDiagnostic: DB6PR0801MB1335: X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1335; 20:afBXmaQ71yWzR/1yqry093iCrNPcKRqOie/AIz+6lfPm/qe14qQ4G7xlzc0JUBoIKzKKZMM/NE8HHFDpw4lEScgXwc/aSWfVyc4YLJ6v+FD0MM8gTV8DEMa2fKAVIahSMVoIPVtImcUFMO7TmpLDKD7Ln/0EamV8drh80WS+y08NOtFQ4x0pjXw6JgePTb37VcSz3ftbERS77vldkbJgCUsXAEMCTayaw268zuoSwXm1IDEgrEIcDu5uDAGanGfUsttIVC498bAEtfReO1vcZlCOs93tIBZKufm+oX+2EuRecliKE+e+KfrLKXk86svVzNQ9M+ruKnfpYIezm9c8+cbxOgH6bvPQlQWhPhQ1kxMgPdvEKzIVStU37OdQ0hzfJuGj0rqxRNE1rOxk4arKI/GiF+TCWYTROBDztYQrVZY=; 4:pp48EJnXgYSuPe5kbyvWZKwaeNqsxjBrBvNS8qyBFscFMONhbmNLoV//bjFccPlM0rNb8zr4WvnzYyf9oU/oNlY3DYWoqY5HrqGpr1BYMYWRNCXne+Ilrf+FSy8c47UhVBwrYsxO1HtAxDeWGvQ+4rWZ31+b1eaD4MUKqzZTs/LiNnYNpQffX6hUwQNh39ZDXECxIH0NPbdqs5UjzlSRgJhg38Okswi4E4ujhU816wjJVe4wWJ6tW2+DcOdwT6f/ZpVUM3kdsiY3Scw0Ku4IZw== X-Microsoft-Antispam-PRVS: <DB6PR0801MB1335E129D59D527F9773F838CD220@DB6PR0801MB1335.eurprd08.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3002001)(10201501046)(3231022)(100000703101)(100105400095)(93006095)(93001095)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123560025)(20161123564025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DB6PR0801MB1335; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB6PR0801MB1335; X-Forefront-PRVS: 04976078F0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(6069001)(376002)(346002)(189002)(199003)(478600001)(45080400002)(81166006)(81156014)(8676002)(316002)(86362001)(50466002)(6116002)(47776003)(58126008)(3846002)(66066001)(9686003)(23676003)(101416001)(189998001)(2950100002)(25786009)(6666003)(33646002)(7736002)(105586002)(16526018)(230700001)(55236003)(106356001)(68736007)(2906002)(103116003)(55016002)(97736004)(8936002)(305945005)(61506002)(53936002)(83506002)(5660300001)(76176999)(50986999)(6506006)(54356999)(39060400002)(7416002)(921003)(1121003); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0801MB1335; 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?q?1=3BDB6PR0801MB1335=3B23=3AAO?= =?utf-8?q?IB8caJpkb1NYM0QygC35vol3C7MR+ktJNQ4aExaDkKvqwF2EytZCZ2sB?= =?utf-8?q?pvEHVzwbDEL3i5wPZf/QH8uxjAcm9tXBykwEQ4UNBxSES7L/5rc2p71d?= =?utf-8?q?L3310rlY1DYsfgdhLDEXjPbjnlmK+/ToWS2YtUHOUP3iWRGM3fgpnjPt?= =?utf-8?q?DYd5fNHy99mewWafKpIlWDLMwPRKFxph1JbszXgKdYhXxMgBA+W+r0Lu?= =?utf-8?q?MfzYOax7qqy50s8g1kbdrMIkVPv45+jbX3WOaafIqGOBQ9t+L8z2cyBF?= =?utf-8?q?9l9pMUhATvwqtlM2feicQ63ebLLij0S1ruoSIW9ueqI8+SRsNujTXBjO?= =?utf-8?q?UzLTqanjAybJcWw1U0L4UXbyMk7qobu89e/u1r83LhGemX4d6Kl4xZlI?= =?utf-8?q?sqBBtzehJzN1JQah3jJpjKCwbGl5rw83scctBLyvEn88hZlSKxp29fFV?= =?utf-8?q?Phy9V+aXkr7cz0ACFaWJrB1M6RsmRFSFM2cfali82wOA2gkztkQrnnOj?= =?utf-8?q?3AEWvk0TIgQCQV8gCtsXoM6rIYqAhx7R5fJu8Rntrhnv1jmE6K0zZU81?= =?utf-8?q?arsQBjENUBuCw8YWetJMOGI/n+VsYoyd4fevgpbXzAvSKJrVBjj2G/hh?= =?utf-8?q?kT2TtwOhIlJbBJes6LNfAknCcSGKqTiRc1F2A3iLqFKmK6mf4mxG+MR3?= =?utf-8?q?rhEWy3TMQAes8VwKgLIY2SVXOpqyKJCbZhkSdd6WvVXWycFH5KP4wEpH?= =?utf-8?q?VaN7GDIeW/rx4+o5AG+Ux5nJ72Y9cMFehmCezY4yfTwMRe09Vc3xQbur?= =?utf-8?q?agDtY0NvLsaEcHy7Icq6yh3xUmvLtN1BkyylghildULCFfkwfO6G4nTU?= =?utf-8?q?A5k4+upi/XEoMIu+fltwSm6/X0wAmwIIIAxd+rJAFok+R8MaBOUlW7uu?= =?utf-8?q?aJOSak6a84sb2t2mvIKYu1/ywY+kD5yGj/yEYZUG2iaedHILR8m4Ibth?= =?utf-8?q?FQ1dR5W9Dsqy4NJHJuT3RIapdkZ1ZhUpquPaMZNXKnKwzBzyZtqmL8Wp?= =?utf-8?q?QSOb3zkckq8hAvwQ+f1bshYrCfGddBfUdIfN5bQHGhCIbXhMoxwdqWfb?= =?utf-8?q?AZus2aV0Y+ejZVXD1C5rhI0CBFPurrIN3ISllAnEGWCG5UHcJq+cafrg?= =?utf-8?q?SPJ37niMgpqAF7PzSovb00oF0vaPGDfNVvD96G3hiREO4Vu4sLf+Rx1l?= =?utf-8?q?MoUo8YpCB7tHrv3mv3QdQq1qf/7XiRw8xYC2c6?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1335; 6:IXv7dSfwHIjxcH20YHIVFVB0v0JnYEJDTu7Fp5bJh1e+Yr9lh8/n5MrdigNWdMZ2YdI97dmXToFrTrGCDUqasS4KN+kbUl0khJ6efOgyBz/80IUVUlvazKjtWrWoJYDLQqdtUtGAh4kySFuFXEjKi4bmyUeNVdrFz8AWKd/dZnh+maAtzAIuyhYw2y0vClLRV1B9w0mrwtRXKVtZ0GgKIHh+0FVVBei8Mg8VGKXaAn5JAmA+3p4BLbQIVCrV3i6aQ+YWDHY3vpjq83wo13Byb5qRkHk3ko+RkBRPV12DAi9DupEyZ9V8mjeMsGuVbXphn1Vmq/ekHVpsUzqq9+QfuFGSn4hbbDgqsa93NaZBjYM=; 5:6YJ+Y1v2TS5GB9MkUsIHh0vNiU7JPQHnnw6dCN/YyIGI0sphlFD5GxCM0ki0arhY59472Nz041e1Wgn00jwnL3e1P80iQUWrV1ozgU0IW68iGbHpyKejl4deh9CpH/z/k6wPar01o2JhAliiQEMY/iO9xXtCRKvBVBBCnvsd2E8=; 24:iYFFmgxG3PTq9csEMZ8Ngbjw2w7bhyvf/he4aCAIP5zCuBgHh67sbMpl66RRfMQFkHpaf+lYY93w/YqNw0mRxr83AwAfO+WRmDv2dqUrx4E=; 7:aR9QWwqLb9WOVUplki0k3SS2SkuCCMJ52yXLFYC/2Jkley4YNeytqwiCtS9Xcbq09xkqGttF/qKr8XsHpH5ke1QCdMpUwzjWmiriKMxS1OVpy3v1AOvQbZjGSxfRipNz20e7/lbiZGZYSDXyF3fTUm8eZ/iD8to4joE/Sxjk9bk4PALiuUhCjU2tAh52HxYfW6qNe9nf7f+o0CzAxui7nKQEhEB4L/0SYOaOvkFSPQhMHOD1WKVBCwvR3F/0r6h8 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1335; 20:WQPJlTDfKHfpPf5HwxAafDffcnCPPKV2/DTZfnHpPqpVymBGQ+rOdsH+HUjH+rzdPYPYSzFswaICYz0hN9DEBdFVIA+HctAXY/6JnK4PUQWPXi8qjnYJcP1rfCQ72QM6kIPCFTCjfE1CAh+4AT7RlN1ee5of3+E/9npAyloZ8Do= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2017 18:36:45.0703 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9d24bf8c-cac0-4996-ffd1-08d53045a7fd X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1335 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: <netdev.vger.kernel.org> X-Mailing-List: netdev@vger.kernel.org |
Series |
Replacing net_mutex with rw_semaphore
|
expand
|
diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c index 30612497643c..b97a907ea5aa 100644 --- a/drivers/net/loopback.c +++ b/drivers/net/loopback.c @@ -230,4 +230,5 @@ static __net_init int loopback_net_init(struct net *net) /* Registered in net/core/dev.c */ struct pernet_operations __net_initdata loopback_net_ops = { .init = loopback_net_init, + .async = true, };
These pernet_operations have only init() method. It allocates memory for net_device, calls register_netdev() and assigns net::loopback_dev. register_netdev() is allowed be used without additional locks, as it's synchronized on rtnl_lock(). There are many examples of using this functon directly from ioctl(). The only difference, compared to ioctl(), is that net is not completely alive at this moment. But it looks like, there is no way for parallel pernet_operations to dereference the net_device, as the most of struct net_device lists, where it's linked, are related to net, and the net is not liked. The exceptions are net_device::unreg_list, close_list, todo_list, used for unregistration, and ::link_watch_list, where net_device may be linked to global lists. Unregistration of loopback_dev obviously can't happen, when loopback_net_init() is executing, as the net as alive. It occurs in default_device_ops, which currently requires net_mutex, and it behaves as a barrier at the moment. It will be considered in next patch. Speaking about link_watch_list, it seems, there is no way for loopback_dev at time of registration to be linked in lweventlist and be available for another pernet_operations. Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com> --- drivers/net/loopback.c | 1 + 1 file changed, 1 insertion(+)