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

Reply via email to