From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net-next v3 00/32] Replacing net_mutex with rw_semaphore Date: Tue, 13 Feb 2018 10:54:43 -0500 (EST) Message-ID: <20180213.105443.400499347427397500.davem@davemloft.net> References: <151851357738.5034.10272265431844825686.stgit@localhost.localdomain> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: 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, netdev@vger.kernel.org, ebiederm@xmission.com, avagin@virtuozzo.com, gorcunov@virtuozzo.com, eric.dumazet@gmail.com, stephen@networkplumber.org To: ktkhai@virtuozzo.com Return-path: Received: from shards.monkeyblade.net ([184.105.139.130]:40778 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933440AbeBMPyr (ORCPT ); Tue, 13 Feb 2018 10:54:47 -0500 In-Reply-To: <151851357738.5034.10272265431844825686.stgit@localhost.localdomain> Sender: netdev-owner@vger.kernel.org List-ID: From: Kirill Tkhai Date: Tue, 13 Feb 2018 12:25:51 +0300 > this is the third version of the patchset introducing net_sem > instead of net_mutex. The patchset adds net_sem in addition > to net_mutex and allows pernet_operations to be "async". This > flag means, the pernet_operations methods are safe to be > executed with any other pernet_operations (un)initializing > another net. > > If there are only async pernet_operations in the system, > net_mutex is not used either for setup_net() or for cleanup_net(). > > The pernet_operations converted in this patchset allow > to create minimal .config to have network working, and > the changes improve the performance like you may see > below: > > %for i in {1..10000}; do unshare -n bash -c exit; done > > *before* > real 1m40,377s > user 0m9,672s > sys 0m19,928s > > *after* > real 0m17,007s > user 0m5,311s > sys 0m11,779 > > (5.8 times faster) > > In the future, when all pernet_operations become async, > we'll just remove this "async" field tree-wide. > > All the new logic is concentrated in patches [1-5/32]. > The rest of patches converts specific operations: > review, rationale of they can be converted, and setting > of async flag. > > Kirill > > v3: Improved patches descriptions. Added comment into [5/32]. > Added [32/32] converting netlink_tap_net_ops (new pernet operations > introduced in 2018). > > v2: Single patch -> patchset with rationale of every conversion Series applied, thank you.