All of lore.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: "Serge E. Hallyn" <serue@us.ibm.com>
Cc: Peter Chubb <peterc@gelato.unsw.edu.au>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	Theodore Tso <tytso@mit.edu>, Arnd Bergmann <arnd@arndb.de>,
	containers@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org,
	Dave Hansen <dave@linux.vnet.ibm.com>
Subject: Re: checkpoint/restart ABI
Date: Thu, 28 Aug 2008 16:40:21 -0700	[thread overview]
Message-ID: <m1abewaeu2.fsf@frodo.ebiederm.org> (raw)
In-Reply-To: <20080812144905.GA16016@us.ibm.com> (Serge E. Hallyn's message of "Tue, 12 Aug 2008 09:49:05 -0500")

"Serge E. Hallyn" <serue@us.ibm.com> writes:

> Quoting Peter Chubb (peterc@gelato.unsw.edu.au):

>> Beefing up ptrace or fixing /proc to be a real debugging interface
>> would be a start ... when you can get at *all* the info you need,
>
> Except we don't really want to export all the info you need for a
> complete restartable checkpoint.  And especially not make it
> generally writable.

That and unless we get a lot of synergy from authors of debuggers
and debugging code it is a more general and slower interface for
no apparent gain.

> We have also started down that path using ptrace (see cryo, at
> git://git.sr71.net/~hallyn/cryodev.git).
>
> Right before the containers mini-summit, where the general agreement was
> that a complete in-kernel solution ought to be pursued, I had tried
> a restart using a binary format that read a checkpoint file and used
> cryo (userspace using ptrace) for the rest of the restart, only
> because there was no other reasonable way to set tsk->did_exec on
> restart.

Can we please describe this as the giant syscall approach.  Instead
of a complete in-kernel solution.  There are things like filesystems
that should be checkpointed separately, or not checkpointed at all.

However there is a large set of processes and process state that always
goes together and if you checkpoint a container you always want.

So building something that is roughly equivalent to a binfmt module
but that can save and restore multiple tasks with a single operation
looks like the right granularity.

>> Jeremy> Lightweight filesystem checkpointing, such as btrfs provides,
>> Jeremy> would seem like a powerful mechanism for handling a lot of the
>> Jeremy> filesystem state problems.  It would have been useful when we
>> Jeremy> did this...
>> 
>> And how!  saving bits of files was very timeconsuming.
>
> Yes, we're looking forward to using btrfs' snapshots :)

Yep.  And in the case of migration we don't even need to snapshot
a filesystem just mount it from on the target machine.  Except for
the unlinked files challenge.

Eric

  parent reply	other threads:[~2008-08-28 23:44 UTC|newest]

Thread overview: 141+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-07 22:40 [RFC][PATCH 0/4] kernel-based checkpoint restart Dave Hansen
2008-08-07 22:40 ` [RFC][PATCH 1/4] checkpoint-restart: general infrastructure Dave Hansen
2008-08-07 22:40 ` Dave Hansen
2008-08-08  9:46   ` Arnd Bergmann
2008-08-08  9:46   ` Arnd Bergmann
     [not found]     ` <200808081146.54834.arnd-r2nGTMty4D4@public.gmane.org>
2008-08-08 18:50       ` Dave Hansen
2008-08-08 18:50     ` Dave Hansen
2008-08-08 20:59       ` Oren Laadan
2008-08-08 20:59       ` Oren Laadan
2008-08-08 22:17         ` Dave Hansen
2008-08-08 23:27           ` Oren Laadan
2008-08-08 23:27           ` Oren Laadan
     [not found]         ` <489CB3CA.6050304-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-08-08 22:17           ` Dave Hansen
2008-08-08 22:23           ` Arnd Bergmann
2008-08-14  8:09           ` [Devel] " Pavel Emelyanov
2008-08-08 22:23         ` Arnd Bergmann
2008-08-14  8:09         ` [Devel] " Pavel Emelyanov
2008-08-14 15:16           ` Dave Hansen
     [not found]           ` <48A3E81C.6010008-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-08-14 15:16             ` Dave Hansen
2008-08-08 22:13       ` Arnd Bergmann
     [not found]         ` <200808090013.41999.arnd-r2nGTMty4D4@public.gmane.org>
2008-08-08 22:26           ` Dave Hansen
2008-08-11 15:22           ` Serge E. Hallyn
2008-08-08 22:26         ` Dave Hansen
2008-08-08 22:39           ` Arnd Bergmann
2008-08-09  0:43             ` Dave Hansen
2008-08-09  6:37               ` Arnd Bergmann
2008-08-09 13:39                 ` Dave Hansen
     [not found]                 ` <200808090837.07417.arnd-r2nGTMty4D4@public.gmane.org>
2008-08-09 13:39                   ` Dave Hansen
2008-08-09  6:37               ` Arnd Bergmann
     [not found]             ` <200808090039.20289.arnd-r2nGTMty4D4@public.gmane.org>
2008-08-09  0:43               ` Dave Hansen
2008-08-08 22:39           ` Arnd Bergmann
2008-08-11 15:07           ` Serge E. Hallyn
2008-08-11 15:25             ` Arnd Bergmann
     [not found]             ` <20080811150703.GA25930-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-08-11 15:25               ` Arnd Bergmann
2008-08-14  5:53               ` Pavel Machek
2008-08-14  5:53             ` Pavel Machek
2008-08-14 15:12               ` Dave Hansen
     [not found]               ` <20080814055301.GH6995-+ZI9xUNit7I@public.gmane.org>
2008-08-14 15:12                 ` Dave Hansen
2008-08-20 21:40                 ` Oren Laadan
2008-08-20 21:40                   ` Oren Laadan
2008-08-11 15:07           ` Serge E. Hallyn
2008-08-11 15:22         ` Serge E. Hallyn
     [not found]           ` <20080811152201.GB25930-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-08-11 16:53             ` Arnd Bergmann
2008-08-11 16:53           ` Arnd Bergmann
     [not found]             ` <200808111853.13854.arnd-r2nGTMty4D4@public.gmane.org>
2008-08-11 17:11               ` Dave Hansen
2008-08-11 19:48               ` checkpoint/restart ABI Dave Hansen
2008-08-11 17:11             ` [RFC][PATCH 1/4] checkpoint-restart: general infrastructure Dave Hansen
2008-08-11 19:48             ` checkpoint/restart ABI Dave Hansen
2008-08-11 21:47               ` Arnd Bergmann
2008-08-11 21:47               ` Arnd Bergmann
2008-08-11 23:14                 ` Jonathan Corbet
2008-08-11 23:23                   ` Dave Hansen
     [not found]                   ` <20080811171433.2ce81f28-vw3g6Xz/EtPk1uMJSBkQmQ@public.gmane.org>
2008-08-11 23:23                     ` Dave Hansen
     [not found]                 ` <200808112347.50245.arnd-r2nGTMty4D4@public.gmane.org>
2008-08-11 23:14                   ` Jonathan Corbet
2008-08-21  5:56                   ` Oren Laadan
2008-08-21  5:56                     ` Oren Laadan
     [not found]                     ` <48AD0379.9030705-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-08-21  8:43                       ` Arnd Bergmann
2008-08-21  8:43                     ` Arnd Bergmann
2008-08-21 15:43                       ` Oren Laadan
     [not found]                       ` <200808211043.41387.arnd-r2nGTMty4D4@public.gmane.org>
2008-08-21 15:43                         ` Oren Laadan
2008-08-11 21:54               ` Oren Laadan
2008-08-11 21:54               ` Oren Laadan
2008-08-11 23:38               ` Jeremy Fitzhardinge
2008-08-11 23:54                 ` Peter Chubb
2008-08-12 14:49                   ` Serge E. Hallyn
     [not found]                     ` <20080812144905.GA16016-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-08-28 23:40                       ` Eric W. Biederman
2008-08-28 23:40                     ` Eric W. Biederman [this message]
     [not found]                   ` <87d4kfds5i.wl%peterc-LkDQP0DxSMGxwJ88Py/mJxCuuivNXqWP@public.gmane.org>
2008-08-12 14:49                     ` Serge E. Hallyn
2008-08-12 15:11                     ` Dave Hansen
2008-08-12 15:11                   ` Dave Hansen
2008-08-12 14:58                 ` Dave Hansen
2008-08-12 16:32                   ` Jeremy Fitzhardinge
     [not found]                     ` <48A1BB39.3090108-TSDbQ3PG+2Y@public.gmane.org>
2008-08-12 16:46                       ` Dave Hansen
2008-08-12 16:46                     ` Dave Hansen
2008-08-12 17:04                       ` Jeremy Fitzhardinge
2008-08-12 17:04                       ` Jeremy Fitzhardinge
2008-08-20 21:52                         ` Oren Laadan
     [not found]                         ` <48A1C2B9.9070107-TSDbQ3PG+2Y@public.gmane.org>
2008-08-20 21:52                           ` Oren Laadan
2008-08-20 21:54                       ` Oren Laadan
2008-08-20 21:54                       ` Oren Laadan
     [not found]                         ` <48AC929C.9030901-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-08-20 22:11                           ` Dave Hansen
2008-08-20 22:11                         ` Dave Hansen
2008-08-12 16:32                   ` Jeremy Fitzhardinge
     [not found]                 ` <48A0CD86.6030704-TSDbQ3PG+2Y@public.gmane.org>
2008-08-11 23:54                   ` Peter Chubb
2008-08-12 14:58                   ` Dave Hansen
2008-08-11 23:38               ` Jeremy Fitzhardinge
2008-08-08 22:13       ` [RFC][PATCH 1/4] checkpoint-restart: general infrastructure Arnd Bergmann
2008-08-11 18:03   ` Jonathan Corbet
2008-08-11 18:03   ` Jonathan Corbet
     [not found]     ` <20080811120315.4b3ba2c8-vw3g6Xz/EtPk1uMJSBkQmQ@public.gmane.org>
2008-08-11 18:38       ` Dave Hansen
2008-08-11 18:38     ` Dave Hansen
2008-08-12  3:44       ` Oren Laadan
2008-08-12  3:44         ` Oren Laadan
2008-08-18  9:26   ` [Devel] " Pavel Emelyanov
2008-08-18  9:26     ` Pavel Emelyanov
2008-08-20 19:10     ` Dave Hansen
     [not found]     ` <48A94061.8040206-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-08-20 19:10       ` Dave Hansen
2008-08-07 22:40 ` [RFC][PATCH 2/4] checkpoint/restart: x86 support Dave Hansen
2008-08-08 12:09   ` Arnd Bergmann
2008-08-08 12:09   ` Arnd Bergmann
     [not found]     ` <200808081409.30591.arnd-r2nGTMty4D4@public.gmane.org>
2008-08-08 20:28       ` Oren Laadan
2008-08-08 20:28         ` Oren Laadan
2008-08-08 22:29         ` Arnd Bergmann
     [not found]           ` <200808090029.28286.arnd-r2nGTMty4D4@public.gmane.org>
2008-08-08 23:04             ` Oren Laadan
2008-08-08 23:04           ` Oren Laadan
2008-08-09  0:38             ` Dave Hansen
2008-08-09  1:20               ` Oren Laadan
2008-08-09  2:20                 ` Dave Hansen
2008-08-09  2:35                   ` Oren Laadan
2008-08-09  2:35                   ` Oren Laadan
     [not found]                 ` <489CF0CE.1000603-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-08-09  2:20                   ` Dave Hansen
2008-08-09  1:20               ` Oren Laadan
2008-08-10 14:55               ` Jeremy Fitzhardinge
2008-08-10 14:55               ` Jeremy Fitzhardinge
2008-08-11 15:36                 ` Dave Hansen
2008-08-11 16:07                   ` Jeremy Fitzhardinge
2008-08-11 16:07                   ` Jeremy Fitzhardinge
     [not found]                 ` <489F015E.9080704-TSDbQ3PG+2Y@public.gmane.org>
2008-08-11 15:36                   ` Dave Hansen
     [not found]             ` <489CD0F9.9060603-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-08-09  0:38               ` Dave Hansen
2008-08-09  6:43               ` Arnd Bergmann
2008-08-09  6:43             ` Arnd Bergmann
     [not found]         ` <489CAC70.7090809-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-08-08 22:29           ` Arnd Bergmann
2008-08-07 22:40 ` Dave Hansen
2008-08-07 22:40 ` [RFC][PATCH 3/4] checkpoint/restart: memory management Dave Hansen
2008-08-08 12:12   ` Arnd Bergmann
2008-08-08 12:12     ` Arnd Bergmann
2008-08-07 22:40 ` Dave Hansen
2008-08-07 22:40 ` [RFC][PATCH 4/4] introduce sys_checkpoint and sys_restore Dave Hansen
2008-08-07 22:40 ` Dave Hansen
2008-08-08 12:15   ` Arnd Bergmann
     [not found]     ` <200808081415.19179.arnd-r2nGTMty4D4@public.gmane.org>
2008-08-08 20:33       ` Oren Laadan
2008-08-08 20:33         ` Oren Laadan
2008-08-08 12:15   ` Arnd Bergmann
2008-08-08  9:25 ` [RFC][PATCH 0/4] kernel-based checkpoint restart Arnd Bergmann
2008-08-08  9:25   ` Arnd Bergmann
2008-08-08 18:06   ` Dave Hansen
2008-08-08 18:18     ` Arnd Bergmann
2008-08-08 18:18     ` Arnd Bergmann
     [not found]   ` <200808081125.12706.arnd-r2nGTMty4D4@public.gmane.org>
2008-08-08 18:06     ` Dave Hansen
2008-08-08 19:44     ` Oren Laadan
2008-08-08 19:44       ` Oren Laadan

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=m1abewaeu2.fsf@frodo.ebiederm.org \
    --to=ebiederm@xmission.com \
    --cc=arnd@arndb.de \
    --cc=containers@lists.linux-foundation.org \
    --cc=dave@linux.vnet.ibm.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterc@gelato.unsw.edu.au \
    --cc=serue@us.ibm.com \
    --cc=tytso@mit.edu \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.