From: ebiederm@xmission.com (Eric W. Biederman)
To: Hans Schillstrom <hans.schillstrom@ericsson.com>
Cc: Hagen Paul Pfeifer <hagen@jauu.net>,
David Miller <davem@davemloft.net>,
"equinox\@diac24.net" <equinox@diac24.net>,
"netdev\@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: RFC Hanging clean-up of a namespace
Date: Sun, 22 Jan 2012 23:17:00 -0800 [thread overview]
Message-ID: <m1ipk2riqb.fsf@fess.ebiederm.org> (raw)
In-Reply-To: <201201230758.55200.hans.schillstrom@ericsson.com> (Hans Schillstrom's message of "Mon, 23 Jan 2012 07:58:54 +0100")
Hans Schillstrom <hans.schillstrom@ericsson.com> writes:
> On Monday 23 January 2012 07:25:52 Eric W. Biederman wrote:
>> Hans Schillstrom <hans.schillstrom@ericsson.com> 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 ...
?????
init_net can not die. init_net must not die. It makes no sense for the
ref count on init_net to drop to 0. Among other places every kernel
thread uses init_net. Furthermore the network namespaces are
independent so even the impossible death of the initial network
namespace should not kill a child network namespace.
Did I misunderstand what you said?
If you have a setup where you stop being able to talk to the outside
world because you were relaying through the initial network namespace
and the relay through the initial network namespace stopped functioning
that makes sense. So effectively all of your packets are being dropped
on the floor the tcp retransmit behavior on closing a socket makes
sense. I just don't get how you have triggered that state.
Eric
next prev parent reply other threads:[~2012-01-23 7:14 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-19 11:07 RFC Hanging clean-up of a namespace Hans Schillstrom
2012-01-19 13:31 ` David Lamparter
2012-01-19 17:40 ` David Miller
2012-01-19 19:01 ` David Lamparter
2012-01-19 19:06 ` David Miller
2012-01-19 19:25 ` David Lamparter
2012-01-19 19:31 ` David Miller
2012-01-19 19:53 ` David Lamparter
2012-01-19 20:27 ` David Miller
2012-01-19 21:03 ` David Lamparter
2012-01-19 21:24 ` Eric W. Biederman
2012-01-19 21:40 ` David Lamparter
2012-01-19 21:40 ` Hagen Paul Pfeifer
2012-01-19 21:47 ` David Lamparter
2012-01-19 22:10 ` Rick Jones
2012-01-19 22:16 ` Hagen Paul Pfeifer
2012-01-19 22:37 ` David Miller
2012-01-20 6:08 ` Hans Schillstrom
2012-01-20 10:08 ` Eric W. Biederman
2012-01-20 11:51 ` Hans Schillstrom
2012-01-20 20:55 ` Eric W. Biederman
2012-01-23 6:07 ` Hans Schillstrom
2012-01-23 6:25 ` Eric W. Biederman
2012-01-23 6:58 ` Hans Schillstrom
2012-01-23 7:17 ` Eric W. Biederman [this message]
2012-01-23 7:30 ` Hans Schillstrom
2012-01-23 7:55 ` Eric W. Biederman
2012-01-19 19:40 ` Hans Schillström
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m1ipk2riqb.fsf@fess.ebiederm.org \
--to=ebiederm@xmission.com \
--cc=davem@davemloft.net \
--cc=equinox@diac24.net \
--cc=hagen@jauu.net \
--cc=hans.schillstrom@ericsson.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).