Re: [PATCH net-next v3 00/32] Replacing net_mutex with rw_semaphore

David Miller
2018-02-13T15:54:47Z

From: Kirill Tkhai <ktkhai@virtuozzo.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.