On Tue, 20 Sep 2016 06:01:27 +0000 Anton Aksola <aa...@iki.fi> wrote:
> The calling of netns_map_init() before command parsing introduced > a performance issue with large number of namespaces. > > As commands such as add, del and exec do not need to iterate through > /var/run/netns it would be good not no build the cache before executing > these commands. > > Example: > unpatched: > time seq 1 1000 | xargs -n 1 ip netns add > > real 0m16.832s > user 0m1.350s > sys 0m15.029s > > patched: > time seq 1 1000 | xargs -n 1 ip netns add > > real 0m3.859s > user 0m0.132s > sys 0m3.205s > > Signed-off-by: Anton Aksola <aa...@iki.fi> > --- > ip/ip_common.h | 1 + > ip/ipmonitor.c | 1 + > ip/ipnetns.c | 31 > ++++++++++++++++++++++--------- > testsuite/tests/ip/netns/set_nsid.t | 22 ++++++++++++++++++++++ > testsuite/tests/ip/netns/set_nsid_batch.t | 18 ++++++++++++++++++ > 5 files changed, 64 insertions(+), 9 deletions(-) > create mode 100755 testsuite/tests/ip/netns/set_nsid.t > create mode 100755 testsuite/tests/ip/netns/set_nsid_batch.t > Applied to net-next (ie for 4.9)