mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
To: Dave Hansen <haveblue@us.ibm.com>
Cc: Andrew Morton <akpm@osdl.org>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	herbert@13thfloor.at, serue@us.ibm.com,
	linux-kernel@vger.kernel.org, dev@sw.ru, devel@openvz.org,
	sam@vilain.net, xemul@sw.ru, clg@fr.ibm.com,
	Daniel Lezcano <dlezcano@fr.ibm.com>
Subject: Re: [PATCH 0/9] namespaces: Introduction
Date: Sat, 20 May 2006 00:52:47 +0400	[thread overview]
Message-ID: <20060519205247.GA7665@ms2.inr.ac.ru> (raw)
In-Reply-To: <1148069832.6623.209.camel@localhost.localdomain>

Hello!

> > Migration of currently-open sockets (for example) would require storing of
> > a lot of state, wouldn't it?
> 
> In a word, yes. :)

Yes. But, actually, it is not "for example". Socket state is really far more
complicated thing than all the rest. I would say, migration of another
objects is mostly trivial thing.

Actually, what Andrew worried about:

> snapshot/restart/migration worry me.  If they require complete
> serialisation of complex kernel data structures then we have a problem,
> because it means that any time anyone changes such a structure they need to
> update (and test) the serialisation.

The answer is: after user space processes referring to objects are suspended,
_surprizingly_, not so much of places, which have trouble with serialization
remain. Actually, no serialization additional to existing one is required.
Sockets are the most complicated, to suspend networking state, after
processes are frozen, we have to:

1. Block access from network.
2. Stop socket timers.

Only after this we can make a coherent snapshot. But it is an exception,
most of objects are in coherent state (all the VM, files etc. etc),
when processes are frozen.


> I don't think the networking guys from either the OpenVZ project or IBM
> were cc'd on this.  Alexey, Daniel, can you elaborate, or point us to
> any existing code?

http://git.openvz.org

linux-2.6-openvz/kernel/cpt/. Particularly, kernel/cpt/cpt_socket*.c.
Hairy, but straighforward.

Alexey

  reply	other threads:[~2006-05-19 20:53 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-18 15:47 Serge E. Hallyn
2006-05-18 15:48 ` [PATCH 1/9] namespaces: add nsproxy Serge E. Hallyn
2006-05-21 23:30   ` Sam Vilain
2006-05-21 23:38     ` Eric W. Biederman
2006-05-22 12:39       ` Serge E. Hallyn
2006-05-18 15:49 ` [PATCH 2/9] namespaces: incorporate fs namespace into nsproxy Serge E. Hallyn
2006-05-18 15:49 ` [PATCH 3/9] namespaces: utsname: introduce temporary helpers Serge E. Hallyn
2006-05-18 15:49 ` [PATCH 4/9] namespaces: utsname: switch to using uts namespaces Serge E. Hallyn
2006-05-19  0:02   ` Randy.Dunlap
2006-05-19  2:21     ` Serge E. Hallyn
2006-05-19  2:45       ` Randy.Dunlap
2006-05-19  3:12       ` Sam Vilain
2006-05-19  9:05     ` Eric W. Biederman
2006-05-19 17:39       ` Randy.Dunlap
2006-05-19 11:58     ` Eric W. Biederman
2006-05-22 19:43     ` Cedric Le Goater
2006-05-22 20:19       ` Randy.Dunlap
2006-05-22  0:19   ` Sam Vilain
2006-05-18 15:49 ` [PATCH 5/9] namespaces: utsname: use init_utsname when appropriate Serge E. Hallyn
2006-05-18 15:50 ` [PATCH 6/9] namespaces: utsname: implement utsname namespaces Serge E. Hallyn
2006-05-18 15:50 ` [PATCH 7/9] namespaces: utsname: sysctl hack Serge E. Hallyn
2006-05-18 15:50 ` [PATCH 8/9] namespaces: utsname: remove system_utsname Serge E. Hallyn
2006-05-18 23:03   ` Paul Mackerras
2006-05-18 23:04     ` Paul Mackerras
2006-05-18 15:51 ` [PATCH 9/9] namespaces: utsname: implement CLONE_NEWUTS flag Serge E. Hallyn
2006-05-18 17:34 ` [PATCH 0/9] namespaces: Introduction Andrew Morton
2006-05-18 19:23   ` John Kelly
2006-05-18 23:28   ` Sam Vilain
2006-05-18 23:43     ` Sam Vilain
2006-05-19  4:24     ` Paul Jackson
2006-05-19  9:23       ` Eric W. Biederman
2006-05-19 11:41   ` Eric W. Biederman
2006-05-19 17:52     ` Jeff Dike
2006-05-20  0:16     ` Sam Vilain
2006-05-19 12:42   ` Herbert Poetzl
2006-05-19 15:13     ` Andrew Morton
2006-05-19 16:27       ` Eric W. Biederman
2006-05-19 16:40         ` Andrew Morton
2006-05-19 17:15           ` Stephen Hemminger
2006-05-19 20:17           ` Dave Hansen
2006-05-19 20:52             ` Alexey Kuznetsov [this message]
2006-05-19 18:28         ` Hua Zhong
2006-05-19 19:38           ` Serge E. Hallyn
2006-05-19 19:45           ` John Kelly
2006-05-19 20:23             ` John Kelly
2006-05-19 20:04       ` Dave Hansen
2006-05-20  3:18         ` Eric W. Biederman
2006-05-21  0:48         ` Eric W. Biederman
2006-05-21 22:57       ` Pavel Machek
2006-05-21 23:18         ` Eric W. Biederman
2006-05-21 23:32           ` Herbert Poetzl
2006-05-22 16:54             ` Eric W. Biederman
2006-05-19 13:47   ` Andrey Savochkin
2006-05-19 15:25     ` Andrew Morton
2006-05-20 21:24       ` Herbert Poetzl
2006-05-22 17:23       ` Eric W. Biederman
2006-05-20  0:16     ` Sam Vilain
2006-05-19  8:50 ` Eric W. Biederman
2006-05-19 13:30   ` Serge E. Hallyn
2006-05-21 16:27   ` Serge E. Hallyn
2006-05-21 18:08     ` Eric W. Biederman
2006-05-22 12:10       ` Serge E. Hallyn
2006-05-22 16:44         ` Eric W. Biederman
2006-05-19 17:17 Al Boldi

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=20060519205247.GA7665@ms2.inr.ac.ru \
    --to=kuznet@ms2.inr.ac.ru \
    --cc=akpm@osdl.org \
    --cc=clg@fr.ibm.com \
    --cc=dev@sw.ru \
    --cc=devel@openvz.org \
    --cc=dlezcano@fr.ibm.com \
    --cc=ebiederm@xmission.com \
    --cc=haveblue@us.ibm.com \
    --cc=herbert@13thfloor.at \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sam@vilain.net \
    --cc=serue@us.ibm.com \
    --cc=xemul@sw.ru \
    /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

all inboxes | Powered by JetHome®