Searched hist:d7d99872c144a2c2f5d9c9d83627fa833836cba5 (Results 1 – 2 of 2) sorted by relevance
/openbmc/linux/net/core/ |
H A D | net_namespace.c | diff d7d99872c144a2c2f5d9c9d83627fa833836cba5 Tue Jun 18 13:08:59 CDT 2019 Eric Dumazet <edumazet@google.com> netns: add pre_exit method to struct pernet_operations
Current struct pernet_operations exit() handlers are highly discouraged to call synchronize_rcu().
There are cases where we need them, and exit_batch() does not help the common case where a single netns is dismantled.
This patch leverages the existing synchronize_rcu() call in cleanup_net()
Calling optional ->pre_exit() method before ->exit() or ->exit_batch() allows to benefit from a single synchronize_rcu() call.
Note that the synchronize_rcu() calls added in this patch are only in error paths or slow paths.
Tested:
$ time for i in {1..1000}; do unshare -n /bin/false;done
real 0m2.612s user 0m0.171s sys 0m2.216s
Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
/openbmc/linux/include/net/ |
H A D | net_namespace.h | diff d7d99872c144a2c2f5d9c9d83627fa833836cba5 Tue Jun 18 13:08:59 CDT 2019 Eric Dumazet <edumazet@google.com> netns: add pre_exit method to struct pernet_operations
Current struct pernet_operations exit() handlers are highly discouraged to call synchronize_rcu().
There are cases where we need them, and exit_batch() does not help the common case where a single netns is dismantled.
This patch leverages the existing synchronize_rcu() call in cleanup_net()
Calling optional ->pre_exit() method before ->exit() or ->exit_batch() allows to benefit from a single synchronize_rcu() call.
Note that the synchronize_rcu() calls added in this patch are only in error paths or slow paths.
Tested:
$ time for i in {1..1000}; do unshare -n /bin/false;done
real 0m2.612s user 0m0.171s sys 0m2.216s
Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|