[Devel] Re: netns refcounting

Eric W. Biederman ebiederm at xmission.com
Fri Nov 16 09:14:40 PST 2007


"Denis V. Lunev" <den at sw.ru> writes:

> Hello, All!
>
> During port of Eric's patches I have noticed an interesting thing.
> The patch "net: Teach the ipv4 route cache to handle multiple network
> namespaces" call hold_net for each IPv4 DST cache entry.
>
> Though it is not possible to stop a namespace without stopping all the
> devices inside. Additionally, the device can't be unregistered if there
> are dst entries to it. These entries are moved to a namespace loopback
> and the namespace will block until these entries will gone from a loopback.
>
> So, I do not see a necessity to have an extra atomic on this hot path,
> i.e. hold_net can re moved away for this. Are there any holes?

So all hold_net is good for is to catch logic errors where people are
still using a network namespace but have freed it.  It is a bit like
the device reference count in that regard.

The usage of the dst cache from ipv4 looked complicated enough that making
some small mistake easy to have so I included the reference count for good
measure.

If the movement to loopback device is sufficient to prevent us from goofing
up in this area I am happy to avoid the reference count.

Eric




More information about the Devel mailing list