Phil Sutter <p...@nwl.cc> writes:

> Stress-testing OpenStack Neutron revealed poor performance of 'ip netns'
> when dealing with a high amount of namespaces. The cause of this lies in
> the combination of how iproute2 mounts NETNS_RUN_DIR and the netns files
> therein and the fact that systemd makes all mount points of the system
> shared.

So please tell me.  Given that it was clearly a deliberate choice in the
code to make these directories shared, and that this is not a result
of a systemd making all directories shared by default.  Why is it
better to these directories non-shared?

This may be the appropriate change but saying you stress testing things
and have a problem but do not describe how large a scale you had a
problem, or anything else to make your problem reproducible by anyone
else makes it difficult to consider the merits of this change.

Sometimes things are a good default policy but have imperfect scaling on
extreme workloads.

My experience with the current situtation with ip netns is that it
prevents a whole lot of confusion by making the network namespace names
visible whichever mount namespace your processes are running in.

> Phil Sutter (2):
>   ipnetns: Move NETNS_RUN_DIR into it's own propagation group
>   ipnetns: Make netns mount points private
>
>  ip/ipnetns.c | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)

Eric

Reply via email to