Kirill Tkhai 447cd7a0d7 net: Allow pernet_operations to be executed in parallel
This adds new pernet_operations::async flag to indicate operations,
which ->init(), ->exit() and ->exit_batch() methods are allowed
to be executed in parallel with the methods of any other pernet_operations.

When there are only asynchronous pernet_operations in the system,
net_mutex won't be taken for a net construction and destruction.

Also, remove BUG_ON(mutex_is_locked()) from net_assign_generic()
without replacing with the equivalent net_sem check, as there is
one more lockdep assert below.

v3: Add comment near net_mutex.

Suggested-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Acked-by: Andrei Vagin <avagin@virtuozzo.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-02-13 10:36:05 -05:00
..
2018-02-06 10:32:13 +01:00
2018-02-07 11:33:08 -08:00
2018-02-07 11:22:44 -08:00
2018-02-10 13:16:35 -08:00
2018-02-02 10:01:04 -08:00
2018-02-03 13:07:56 -08:00
2018-02-01 16:35:31 -08:00
2018-02-07 12:11:09 -08:00
2018-02-07 13:10:43 -08:00