Subject: Re: RFC Hanging clean-up of a namespace

From: Hans Schillstrom <[email-masked]>
Date: Mon, 23 Jan 2012 07:58:54 +0100

On Monday 23 January 2012 07:25:52 Eric W. Biederman wrote:
> Hans Schillstrom <[email-masked]> writes:
> 
> > On Friday 20 January 2012 21:55:27 Eric W. Biederman wrote:
> >> My current hypothesis is that the namespace actually didn't get freed
> >> until the tcp socket finished closing.  You can check by looking at when
> >> __put_net and then cleanup_net are called.
> >
> > __put_net() is called just after tcp_write_timer() fires and then
> > cleanup_net()
> 
> Hypothesis confirmed.  Your speed problem is that it is taking 2 minutes
> in the pathological case for your tcp socket to close.
> 
> Do you have any clue why it is taking your sockets so long to close?
> Is the other side simply not responding?
> 

The root cause of death is that the other side (init_net namespace) dies first 
and when it dies all containers will be killed ...

/Hans