mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrey Mirkin <major@openvz.org>
To: Oren Laadan <orenl@cs.columbia.edu>,
	Dave Hansen <dave@linux.vnet.ibm.com>,
	"Serge E. Hallyn" <serue@us.ibm.com>,
	Cedric Le Goater <clg@fr.ibm.com>,
	Daniel Lezcano <dlezcano@fr.ibm.com>,
	Louis Rilling <Louis.Rilling@kerlabs.com>
Cc: containers@lists.linux-foundation.org, linux-kernel@vger.kernel.org
Subject: Re: [Devel] Re: [PATCH 0/9] OpenVZ kernel based checkpointing/restart
Date: Thu, 30 Oct 2008 10:02:44 +0400	[thread overview]
Message-ID: <200810300902.47067.major@openvz.org> (raw)
In-Reply-To: <4905D2AD.1070309@cs.columbia.edu>

On Monday 27 October 2008 17:39 Oren Laadan wrote:
> Andrey Mirkin wrote:
> > On Monday 20 October 2008 19:55 Dave Hansen wrote:
> >> On Mon, 2008-10-20 at 16:14 +0400, Andrey Mirkin wrote:
> >>> Right now my patchset (v2) provides an ability to checkpoint and
> >>> restart a group of processes. The process of checkpointing and restart
> >>> can be initiated from external process (not from the process which
> >>> should be checkpointed).
> >>
> >> Absolutely.  Oren's code does it this way to make for a smaller patch at
> >> first.  The syscall takes a pid argument so it is surely expected to be
> >> expanded upon later.
> >>
> >>> Also I think that all the restart job (including process forking)
> >>> should be done in kernel, as in this case we will not depend on user
> >>> space and will be more secure. This is also implemented in my patchset.
> >>
> >> Do you think that this is an approach that Oren's patches are married
> >> to, or is this a "feature" we can add on later?
> >
> > Well, AFAICS from Oren's patch set his approach is oriented on process
> > creation in user space. I think we should choose right now what approach
> > will be used for process creation.
>
> This is inaccurate.
>
> I intentionally did not address how processes will be created, by
> simply allowing either way to be added to the patch.

Yes, you right. Either way is possible with your patchset. But as I understand 
in ZAP you are using user space process creation. No?
That is why I think that your design is more convenient for user process 
creation.

> I do agree that we probably want to decide how to do it. However,
> there is also room to allow for both approaches, in a compatible
> way, should we wish to explore both.

Yes, we can implement both approaches. Do you think we really need this?

> > We have two options here: fork processes in kernel or fork them in user
> > space. If process will be forked in user space, then there will be a gap
> > when process will be in user space and can be killed with received signal
> > before entering
>
> Why do we care about it ?
> Why is there a difference if it is killed before or after entering
> the kernel (e.g. user aborted restart, or kernel OOM kicked in) ?

If one process is killed during restart then you can even do not notice that 
(if processes are created from user space and then call sys_restart). And you 
will get not the same state as before C/R.

> > kernel. Also we will need a functionolity to create processes with
> > predefined PID. I think it is not very good to provide such ability to
> > user space. That is why we prefer in OpenVZ to do all the job in kernel.
>
> This is the weak side of creating the processes in user space -
> that we need such an interface. Note, however, that we can
> easily "hide" it inside the interface of the sys_restart() call,
> and restrict how it may be used.

Of course we can "hide" it somehow, but anyway we will have a hole and that is 
not good.

Anyway we should ask everyone what they think about user- and kernel- based 
process creation.
Dave, Serge, Cedric, Daniel, Louis what do you think about that?

Andrey

> >> I don't care which patch set we end up sticking in the kernel.  I'm
> >> trying to figure out which code we can more easily build upon in the
> >> future.  The fact that Oren's or yours can't do certain little things
> >> right now does not bother me.
> >>
> >> Honestly, I'm a little more confident that everyone can work with Oren
> >> since he managed to get 7 revisions of his patch out and make some
> >> pretty large changes while in the same time the OpenVZ patch was only
> >> released twice.  I'm not sure what has changed in the OpenVZ patch
> >> between releases, either.
> >
> > That is my fault. I am working right now on my Ph.D, that is why my
> > activity is not very high. But now I hope I will have more time for that.
> >
> >> Are there any reasons that you absolutely can not use the code Oren
> >> posted?  Will it not fulfill your needs somehow?  If so, could you
> >> please elaborate on how?
> >
> > We have one major difference with Oren's code - how processes are created
> > during restr.
> > Right now I'm trying to port kernel process creation on top of Oren's
> > patches. I agree that working in collaboration will speed up merging of
> > checkpointing to mainstream.
> >
> > Andrey
> >
> > P.S.: Sorry for late reply, my mailer attached your e-mail to wrong
> > thread. _______________________________________________
> > Containers mailing list
> > Containers@lists.linux-foundation.org
> > https://lists.linux-foundation.org/mailman/listinfo/containers

  reply	other threads:[~2008-10-30  6:02 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-03 10:57 Andrey Mirkin
2008-09-03 10:57 ` [PATCH 1/9] Introduce trivial sys_checkpoint and sys_restore system calls Andrey Mirkin
2008-09-03 10:57   ` [PATCH 2/9] Make checkpoint/restart functionality modular Andrey Mirkin
2008-09-03 10:57     ` [PATCH 3/9] Introduce context structure needed during checkpointing/restart Andrey Mirkin
2008-09-03 10:57       ` [PATCH 4/9] Introduce container dump function Andrey Mirkin
2008-09-03 10:57         ` [PATCH 5/9] Introduce function to dump process Andrey Mirkin
2008-09-03 10:57           ` [PATCH 6/9] Introduce functions to dump mm Andrey Mirkin
2008-09-03 10:57             ` [PATCH 7/9] Introduce function for restarting a container Andrey Mirkin
2008-09-03 10:57               ` [PATCH 8/9] Introduce functions to restart a process Andrey Mirkin
2008-09-03 10:57                 ` [PATCH 9/9] Introduce functions to restore mm Andrey Mirkin
2008-09-03 14:32                 ` [PATCH 8/9] Introduce functions to restart a process Louis Rilling
2008-09-13 17:34                   ` Pavel Machek
2008-09-03 14:17             ` [PATCH 6/9] Introduce functions to dump mm Louis Rilling
2008-09-03 14:23         ` [PATCH 4/9] Introduce container dump function Serge E. Hallyn
2008-09-03 14:45           ` Andrey Mirkin
2008-09-03 12:29       ` [PATCH 3/9] Introduce context structure needed during checkpointing/restart Matthieu Fertré
2008-09-03 14:11         ` Andrey Mirkin
2008-09-03 13:56       ` Louis Rilling
2008-09-03 14:07         ` Andrey Mirkin
2008-09-03 14:13       ` Cedric Le Goater
2008-09-03 14:29         ` Andrey Mirkin
2008-09-03 14:27     ` [PATCH 2/9] Make checkpoint/restart functionality modular Serge E. Hallyn
2008-09-03 14:51       ` Andrey Mirkin
2008-09-03 11:44   ` [PATCH 1/9] Introduce trivial sys_checkpoint and sys_restore system calls Cedric Le Goater
2008-09-03 13:05     ` [Devel] " Andrey Mirkin
2008-09-03 12:28 ` [PATCH 0/9] OpenVZ kernel based checkpointing/restart Cedric Le Goater
2008-09-03 13:59   ` [Devel] " Andrey Mirkin
2008-09-04 22:55     ` Dave Hansen
2008-09-03 14:18   ` Serge E. Hallyn
2008-09-03 13:49 ` Louis Rilling
2008-09-03 14:06   ` Louis Rilling
2008-09-03 14:19     ` Andrey Mirkin
2008-09-03 14:26     ` Cedric Le Goater
2008-09-03 14:53       ` Andrey Mirkin
2008-09-04  8:14 ` Oren Laadan
2008-09-04 14:05 ` Dave Hansen
2008-10-17 23:33 ` Dave Hansen
2008-10-20 11:10   ` Louis Rilling
2008-10-20 13:25     ` Daniel Lezcano
2008-10-20 13:48       ` Cedric Le Goater
2008-10-20 13:49         ` Daniel Lezcano
2008-10-20 15:53       ` Oren Laadan
2008-10-20 16:37         ` Daniel Lezcano
2008-10-20 17:23           ` Serge E. Hallyn
2008-10-21  0:18             ` Oren Laadan
2008-10-21  0:58               ` Serge E. Hallyn
2008-10-21 13:24               ` Daniel Lezcano
2008-10-27 14:45           ` [Devel] " Andrey Mirkin
2008-10-20 16:51         ` Serge E. Hallyn
2008-10-21  9:36         ` Cedric Le Goater
2008-10-20 16:36     ` Dave Hansen
2008-10-20 12:14   ` [Devel] " Andrey Mirkin
2008-10-20 15:55     ` Dave Hansen
2008-10-27 14:07       ` Andrey Mirkin
2008-10-27 14:39         ` Oren Laadan
2008-10-30  6:02           ` Andrey Mirkin [this message]
2008-10-30 11:47             ` Louis Rilling
2008-10-30 17:08               ` Dave Hansen
2008-10-30 18:01                 ` Louis Rilling
2008-10-30 18:28                   ` Oren Laadan
2008-10-30 17:45               ` Oren Laadan
2008-10-30 18:14                 ` Louis Rilling
2008-10-30 18:32                   ` Oren Laadan
2008-10-31 10:37                     ` Louis Rilling
2008-10-30 14:08             ` Serge E. Hallyn
2008-10-30 17:03             ` Dave Hansen
2008-11-03 19:35         ` Oren Laadan
2008-10-20 17:17     ` Oren Laadan
2008-10-27 14:38       ` Andrey Mirkin

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=200810300902.47067.major@openvz.org \
    --to=major@openvz.org \
    --cc=Louis.Rilling@kerlabs.com \
    --cc=clg@fr.ibm.com \
    --cc=containers@lists.linux-foundation.org \
    --cc=dave@linux.vnet.ibm.com \
    --cc=dlezcano@fr.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=orenl@cs.columbia.edu \
    --cc=serue@us.ibm.com \
    /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

Powered by JetHome