From patchwork Fri Mar 23 09:39:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kirill Tkhai X-Patchwork-Id: 889857 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@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=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=virtuozzo.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="W9kYxfZi"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406z5t1jj3z9s0y for ; Fri, 23 Mar 2018 20:39:46 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752387AbeCWJjn (ORCPT ); Fri, 23 Mar 2018 05:39:43 -0400 Received: from mail-eopbgr10110.outbound.protection.outlook.com ([40.107.1.110]:33783 "EHLO EUR02-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751748AbeCWJjl (ORCPT ); Fri, 23 Mar 2018 05:39:41 -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=HS1LOzr17UM0I5Xr5BapIxZ6ezCmB3vPOSLsxDVPdug=; b=W9kYxfZi9i4Xov219Z896d14AHm2QqMPrrnzdcOIvFKBUTnHNe5IxBjdTKNevXPYL+VEaGo30yRcZ0oU2JbZji9ZWU1moG3jZkZb8mr9YJtcy1Hig0WjgKK7SG/tv9NZfS5H69k9zw/uYIfiUyoRZTPNSeyKLcBrqLgt66cijWI= Received: from localhost.localdomain (195.214.232.6) by HE1PR0801MB1339.eurprd08.prod.outlook.com (2603:10a6:3:3a::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.588.14; Fri, 23 Mar 2018 09:39:36 +0000 Subject: [PATCH net-next 2/2] net: Drop NETDEV_UNREGISTER_FINAL From: Kirill Tkhai To: davem@davemloft.net, Michal.Kalderon@cavium.com, Ariel.Elior@cavium.com, dledford@redhat.com, jgg@ziepe.ca, benve@cisco.com, 1dgoodell@cisco.com, daniel@iogearbox.net, jakub.kicinski@netronome.com, ast@kernel.org, edumazet@google.com, linux@rasmusvillemoes.dk, john.fastabend@gmail.com, brouer@redhat.com, dsahern@gmail.com, netdev@vger.kernel.org, ktkhai@virtuozzo.com Date: Fri, 23 Mar 2018 12:39:33 +0300 Message-ID: <152179796956.13076.17482079697536507473.stgit@localhost.localdomain> In-Reply-To: <152179793764.13076.13815355125332565598.stgit@localhost.localdomain> References: <152179793764.13076.13815355125332565598.stgit@localhost.localdomain> User-Agent: StGit/0.18 MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: DB6P193CA0004.EURP193.PROD.OUTLOOK.COM (2603:10a6:6:29::14) To HE1PR0801MB1339.eurprd08.prod.outlook.com (2603:10a6:3:3a::7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7bac6d4b-5d93-429b-9297-08d590a1fecb X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:HE1PR0801MB1339; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1339; 3:eSVW/E5AEO1YYf0MeNwFvQpLJmuaNCDgJ0diS8IHOuXEH8DEqKKsIVQCzJt6hdeN9ENCSjEY7ZyvM1TQRPWhUlJpfPbF/fGus0HQunPcZ734XbCKlXqgFxuYcUVAY7xV/ret3FWOaave/guTL3lQlGris+9ScEsgbvWwl3mGZdO4hpNEDrwQkw4rtU53nwTC9+G8QI0fllLF4lX9IK8I9i8xVK8iH4lFDv0MXSrGueh2WOwYqFN2oQIZkP9PLQ9u; 25:ecnJurps3HtS5AZPJQlcdF8fNd+m23gN4BGFxa+uSVy4dkGZHykcAhTQUA90BACvxdyBrC8/kdoMX4nXPRUXENInLBlah8Eoi18sciVMWzSU4yRa1THCYQWtdiUBq9+elfm6L0CX+3C/vRBlXEBKqwzWyWlnX4C0WPWER+uTtZbj10gZ+TKaiQuUk8EwyilJZcuCnpzccqIxqi35pxAex1o/Mdg2wuZJB5I63XyOPRnKVnWpSKc2Xc1ZDFNpj30YjGqdiXxUv58g6oOjxFxSCz8I/ihxWHGRauOtCzteEOnJMMZMs1FlksTXBuZbT4MyDpKFdaigFSosmWwD1L3WoQ==; 31:yN3hdprXuVieNZBZH4wB29/G3vCf5/j1UpWcM9gIbDUHl3pVv0BjKIvLRKNLdNGJrvtNWLxkVLp+kolvRKGEup/aTkP9lDqpJf/3ZrTCsBSo0GIP69nSkODxNWR0KxL/nmxBzcTx6lOHOUKnbp1mAtR6ndycvd83uEdUxzjb1dTtmfrZx0Kq7AycIJDB5ZWRMknVY/2sDGWraBndEVie0cQfwOAwjVUDaevp9L1LLy0= X-MS-TrafficTypeDiagnostic: HE1PR0801MB1339: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ktkhai@virtuozzo.com; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1339; 20:ZYY6WPEjxuou/5Q4BrnoXptJO1x4ViNbgWvfsxnm+a5NU4EpmX4PJYo6kWdsb4E0xNXhUlCUfOvuh04w7xB9lb5UU7leqyKkyawfPr6vuzEV5LlLyki5Jhox8GskGZA3mTftTERk7v2JaN8Ah6eN9PKDF7XiF4f8o3DCCTZJ19QIqbFr1u+doX8N7NafGNWOAg49JSSJjKysYiccKLPRXfA2SxUgVsq55LyS7aLnEl4EcIbiKdfhpvPin7DP9CaSh+qaQzV2F827xCVBf74TtBzrkVKQPtGbapv3G8RUBrb7cY3lNScDX1obAJwBJT0MHM1tUjufDe+NtTe1btqEIbKWZDNofwmXrbEIQc5+Am7tFz8fxpQrvm296qgVwdtYDdP8HKWS6r+A6y7mqo6rYZw8kW4obE4s7FSqkEne8+IZR87oBoixfU5J7sUiX9QEUc/NA/fCxWkwhX2Fuk2NOk6h9VqI4Ga9spfInrZvbsnYuVui8w32Da8oEBXWw0w5; 4:WNAPaAY6+KkdLcRvz4ayWOpoWvT1PWfN4eI0H48OgJPwmKwIY6jyNUYubCNxmthaw9RgPygVR1uJyBMPrFqqOPBKB6W7mDTCObj+h8CR8xDnCvhNM9/diBuWU73OHyZVUERkqZdqmL8/GV9kneNvWkWrhZ7gCb/mbo5eEJl9+NJ6giDP2SdmCD2iziq6qV+rFcIR67TluOvlMDv9qPhl08A6IOUezjYrm30gYwFAtZVdfR1XePRc7BP7pHmzfsIjAxNriEDu8mJgYfaR9Wgw2Q== 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)(93006095)(93001095)(3231221)(944501327)(52105095)(10201501046)(3002001)(6041310)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(6072148)(201708071742011); SRVR:HE1PR0801MB1339; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0801MB1339; X-Forefront-PRVS: 0620CADDF3 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(366004)(346002)(39850400004)(39380400002)(396003)(376002)(189003)(199004)(186003)(55016002)(16526019)(61506002)(446003)(9686003)(66066001)(478600001)(53936002)(103116003)(26005)(55236004)(68736007)(6506007)(230700001)(305945005)(5660300001)(6666003)(386003)(47776003)(50466002)(7736002)(7416002)(105586002)(86362001)(52116002)(81156014)(7696005)(76176011)(81166006)(8936002)(316002)(23676004)(575784001)(106356001)(33896004)(8676002)(2486003)(59450400001)(25786009)(6116002)(3846002)(58126008)(39060400002)(2906002)(97736004)(11346002)(921003)(1121003); DIR:OUT; SFP:1102; SCL:1; SRVR:HE1PR0801MB1339; 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=3BHE1PR0801MB1339=3B23=3AOo?= =?utf-8?q?oxIpg+ZYf9n/kiwrd0Fu9mp9bzrTfVfPTIXEEaKRfUYYjPF7VjqFCznH?= =?utf-8?q?OPNynNSAeIAZ00iHoG3eJVIMDqqR1EZw36zTwVkImsmWor5MpEqx8G+U?= =?utf-8?q?fIaW0L+Mypq5xydkTnkzObOWUAwBxw3ZCwfhIIHQCvCzb3mrXtrWPRtS?= =?utf-8?q?f4IpdGCAFW4rVNKKY7CZ96sJWsYDuB0TaGZJo8sAida59Bs90KMxgR8u?= =?utf-8?q?1RFyTzasn28cUvrY9mZ0JGRMzmI9T+RKCtoG01R85J1fsrk5hEqEaitG?= =?utf-8?q?ukpv4G31MZrjJDG/tnRgNHPilnhEq0kbQiSF8I35HGZE/m+hIIXlkjtT?= =?utf-8?q?wL1E32Cr21CF36HIUANlFOsskLS8HDO8O9dA0Pc1CNNOUTvjr6fLuO0E?= =?utf-8?q?r5djxd8O0lgThHso+zVpMNIQha/m6haJSg5DQfBtjzecXmgK+1OnExpN?= =?utf-8?q?Ze1Glk3EjUU9vIkzUEvwG9rHMJxD0LvTWGl6ZTE2fQEv+icWXYEWU+VE?= =?utf-8?q?Y2i6yUE2rNv9ZxCZDMaVzEdbaXnoMVLz5RKPEsZcMT4XHh7mU7tUv+fm?= =?utf-8?q?77Pco7wnNDW4qRH4GRI4TtsnDKeNutn1W5tv+HVg0JTsNTy4s6zVCwCc?= =?utf-8?q?vvOqtpw6BEvq5PuKogaUB+EH1rWw4WayvThbWvj8Er+atiUDy7AhJDVd?= =?utf-8?q?gPIvCRM1Mowp3iEaLr9wlImntBoFUJkEKNbJwlzrUtmdIVZXV9ort+Lr?= =?utf-8?q?NmLlwRaCblDkJDU5JFIlcOkNSHbHqOQroQlRgbz3d+Kvb+5IkB8a5r7E?= =?utf-8?q?eYOHfh3YzevIUq0+EwSvmYMB0qCxiWmlzXixmxTpA65RuxyhOBO79fEQ?= =?utf-8?q?f8MUQ/LLqilVblKtR1tOzZ43a5+6MFW4JdQZnbA04MMIC29u4EcLkFro?= =?utf-8?q?zg0lLDi46EcdNou56t+pBTMcxXo7H3qIVUFPW8XbvEG/fVYMRK08PTwk?= =?utf-8?q?eIS6sawOXPMliGLygfOEa/m2L2n5vq8/4xffWzryIZCKfKKOGzE3B45p?= =?utf-8?q?aUYTU5X0VM3wTmtsPid+233GZL9qQIB+2buwQv9Gz6u6esujaliP+KHW?= =?utf-8?q?mrBeHsHAPB13tIroc3fFLMW17h+RWzeOHSpUjxiCdonNSCdHpLH3RqS2?= =?utf-8?q?zfcm7EUHft3ODVxIaaCiOLpC18gNZikMXKJDC1ln4laGs3tNjz3Jf2Qd?= =?utf-8?q?da6wM7312Dp7uqY42Yq0Ma9tJDFNKqyHl6WF6hu2a/rPUgjRQkZcyrWg?= =?utf-8?q?MfF8PhU/uWCKJcIXLzKuArabJyfZpcca1INZ5sffhzYr8zC3P+IDMtTB?= =?utf-8?q?eKeDN7V+EYkcEgCmRoCh83BONxs/36lvQ=3D?= X-Microsoft-Antispam-Message-Info: uFdV4ODDcV7CjKm11YxniW+YU67vhET6Uifnm7zjCLyVILkz3IRLy9BvtHuMPCrvjf6qTz9dMroLAtaCnprpJQLM+cT5od/EEfDDshouPHRwvAAOanh/P8KBeW4TOFSUMLh4Zp7Q4p5fgsNf7cBzv+uKt3Gz4N3j7FgUw3+fk/yfoKt7RzYEs31QuozVVngF X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1339; 6:9OO/lmrT6iDwmDHeHGz2cewVrOsihpLxywDJFpZ7U7WYhKwk5cghkvnN+AFKTwCDvdW/FMwaeGTWilgonFDm4oFZ5Tl4b2VczMX3lVLCOzJIw+TtaGUwEzHMIG1VnyzzWmAaHyJoSrHu5/HE7SgSAsnsfF1xJCC2ZwD0UY6vHLkMe+flFrZBhbKcrb18rfq1urMTdBuBM1J4JxZsOPWEY1QSY6DLkvStwis5eLm0EIlT7No6R+ugIPWTzmsgOPYCX3axU9WGXyy1PKMcCJmyW0GG8A/S+yIhIUyCpabjOWTseGOWoHfi47dqgSVHpuhGq96aOctresapwSKWdW1kHmoMHbm9vSSWSgv70qY8Z9A=; 5:3lNLNTfKIioUmo20NjrvXQZAoOSGLRQbXL6dmRMvA9jGQ7SbfaExDGSI73rCE9Na3oYeaNUHYI77jsuVDybAQXywkhLYPMegsDdfVhMbfdoxE/zM/pGEAXSR4lcbStRFfv3bh8PWEV8RsQivY7oypP9Zxf7ZWTfb4hE/tppsAos=; 24:xuMvKdeoRdpI0EYZ7n5dXsaov1HHynWWQV0k5N5681Uk7j7Tgm24LgGTUfjBnVHdtPq4nDgGrvC47BQdLfA60+sSJ/5Zf9sMRe5N54eZ9ds=; 7:S+P9UNfh9TN5NNKxOzwWUwHTosZNwgk21TtuOpgYABx53/enxGdVMOeWAN5et/p44q7m62v46R7vFVs4fGZEUC4FP5Eit6JzKRz9wUxz8t0VE5zW38NDCjHnDlEAmRd/oVnVGq68JEjnCP/j5TthoMub51kres8VnZZL7DjxokywzvxuEr244el4W+RRRJGB9IO+9fdxaGDuxqUdr2H99km0ALKi34zqYZ31Ye48XzInsZ5guQcPAiA9CRPTHbo4 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1339; 20:ZGpj1mnZTl2KYgZ6N2bt/VNPE6hVKOXwzZfbkv1mrpcH51sRLENdHPQHRQzhfZkfoK6K/VXrxxmWLArFavda6JQt/oxikTgwm/v6Po3cL+jS6NOv1uLQRm8k2x3Cy/sM9frVWBZI4b8oCzqdhUuBv0LofdZAslMPNAnN2WirrfA= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2018 09:39:36.0431 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7bac6d4b-5d93-429b-9297-08d590a1fecb X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1339 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Last user is gone after bdf5bd7f2132 "rds: tcp: remove register_netdevice_notifier infrastructure.", so we can remove this netdevice command. This allows to delete rtnl_lock() in netdev_run_todo(), which is hot path for net namespace unregistration. dev_change_net_namespace() and netdev_wait_allrefs() have rcu_barrier() before NETDEV_UNREGISTER_FINAL call, and the source commits say they were introduced to delemit the call with NETDEV_UNREGISTER, but this patch leaves them on the places, since they require additional analysis, whether we need in them for something else. Signed-off-by: Kirill Tkhai Acked-by: Jason Gunthorpe --- drivers/infiniband/hw/qedr/main.c | 4 ++-- include/linux/netdevice.h | 1 - include/rdma/ib_verbs.h | 4 ++-- net/core/dev.c | 6 ------ 4 files changed, 4 insertions(+), 11 deletions(-) diff --git a/drivers/infiniband/hw/qedr/main.c b/drivers/infiniband/hw/qedr/main.c index db4bf97c0e15..eb32abb0099a 100644 --- a/drivers/infiniband/hw/qedr/main.c +++ b/drivers/infiniband/hw/qedr/main.c @@ -90,8 +90,8 @@ static struct net_device *qedr_get_netdev(struct ib_device *dev, u8 port_num) dev_hold(qdev->ndev); /* The HW vendor's device driver must guarantee - * that this function returns NULL before the net device reaches - * NETDEV_UNREGISTER_FINAL state. + * that this function returns NULL before the net device has finished + * NETDEV_UNREGISTER state. */ return qdev->ndev; } diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index dd5a04c971d5..2a2d9cf50aa2 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -2336,7 +2336,6 @@ enum netdev_cmd { NETDEV_PRE_TYPE_CHANGE, NETDEV_POST_TYPE_CHANGE, NETDEV_POST_INIT, - NETDEV_UNREGISTER_FINAL, NETDEV_RELEASE, NETDEV_NOTIFY_PEERS, NETDEV_JOIN, diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h index 73b2387e3f74..a1c5e8320f86 100644 --- a/include/rdma/ib_verbs.h +++ b/include/rdma/ib_verbs.h @@ -2126,8 +2126,8 @@ struct ib_device { * net device of device @device at port @port_num or NULL if such * a net device doesn't exist. The vendor driver should call dev_hold * on this net device. The HW vendor's device driver must guarantee - * that this function returns NULL before the net device reaches - * NETDEV_UNREGISTER_FINAL state. + * that this function returns NULL before the net device has finished + * NETDEV_UNREGISTER state. */ struct net_device *(*get_netdev)(struct ib_device *device, u8 port_num); diff --git a/net/core/dev.c b/net/core/dev.c index bcc9fe68240b..c444da3e4b82 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -8086,7 +8086,6 @@ static void netdev_wait_allrefs(struct net_device *dev) rcu_barrier(); rtnl_lock(); - call_netdevice_notifiers(NETDEV_UNREGISTER_FINAL, dev); if (test_bit(__LINK_STATE_LINKWATCH_PENDING, &dev->state)) { /* We must not have linkwatch events @@ -8158,10 +8157,6 @@ void netdev_run_todo(void) = list_first_entry(&list, struct net_device, todo_list); list_del(&dev->todo_list); - rtnl_lock(); - call_netdevice_notifiers(NETDEV_UNREGISTER_FINAL, dev); - __rtnl_unlock(); - if (unlikely(dev->reg_state != NETREG_UNREGISTERING)) { pr_err("network todo '%s' but state %d\n", dev->name, dev->reg_state); @@ -8603,7 +8598,6 @@ int dev_change_net_namespace(struct net_device *dev, struct net *net, const char */ call_netdevice_notifiers(NETDEV_UNREGISTER, dev); rcu_barrier(); - call_netdevice_notifiers(NETDEV_UNREGISTER_FINAL, dev); new_nsid = peernet2id_alloc(dev_net(dev), net); /* If there is an ifindex conflict assign a new one */