[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180213.105443.400499347427397500.davem@davemloft.net>
Date: Tue, 13 Feb 2018 10:54:43 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: ktkhai@...tuozzo.com
Cc: vyasevic@...hat.com, kstewart@...uxfoundation.org,
pombredanne@...b.com, vyasevich@...il.com, mark.rutland@....com,
gregkh@...uxfoundation.org, adobriyan@...il.com, fw@...len.de,
nicolas.dichtel@...nd.com, xiyou.wangcong@...il.com,
roman.kapl@...go.com, paul@...l-moore.com, dsahern@...il.com,
daniel@...earbox.net, lucien.xin@...il.com,
mschiffer@...verse-factory.net, rshearma@...cade.com,
netdev@...r.kernel.org, ebiederm@...ssion.com,
avagin@...tuozzo.com, gorcunov@...tuozzo.com,
eric.dumazet@...il.com, stephen@...workplumber.org
Subject: Re: [PATCH net-next v3 00/32] Replacing net_mutex with rw_semaphore
From: Kirill Tkhai <ktkhai@...tuozzo.com>
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.
Powered by blists - more mailing lists