From: "Serge E. Hallyn" <serue@us.ibm.com>
To: Peter Chubb <peterc@gelato.unsw.edu.au>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
Dave Hansen <dave@linux.vnet.ibm.com>,
Arnd Bergmann <arnd@arndb.de>,
containers@lists.linux-foundation.org,
Theodore Tso <tytso@mit.edu>,
linux-kernel@vger.kernel.org
Subject: Re: checkpoint/restart ABI
Date: Tue, 12 Aug 2008 09:49:05 -0500 [thread overview]
Message-ID: <20080812144905.GA16016@us.ibm.com> (raw)
In-Reply-To: <87d4kfds5i.wl%peterc@chubb.wattle.id.au>
Quoting Peter Chubb (peterc@gelato.unsw.edu.au):
> >>>>> "Jeremy" == Jeremy Fitzhardinge <jeremy@goop.org> writes:
>
> Jeremy> Dave Hansen wrote:
> >> Arnd, Jeremy and Oren,
> >>
>
>
> Jeremy> * multiple processes * pipes * UNIX domain sockets * INET
> Jeremy> sockets (both inter and intra machine) * unlinked open files *
> Jeremy> checkpointing file content * closed files (ie, files which
> Jeremy> aren't currently open, but will be soon, esp tmp files) *
> Jeremy> shared memory * (Peter, what have I forgotten?)
>
> File sharing; multiple threads with wierd sharing arrangements (think:
> clone with various parameters, followed by exec in some of the threads
> but not others); MERT/system-V shared memory, semaphores and message
> queues; devices (audio, framebuffer, etc), HugeTLBFS, numa issues
> (pinning, memory layout), processes being debugged (so,
> checkpoint.restart a gdb/target pair), futexes, etc., etc. Linux
> process state keeps expanding.
>
> Jeremy> Having gone through this before, I don't think an all-kernel
> Jeremy> solution can work except for the most simple cases.
>
> I agree ... it's better to put mechanisms into the kernel that can
> then be used by a user-space programme to actually do the
> checkpointing and restarting.
>
> 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.
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.
> quickly and easily, the userspace checkpoint falls out fairly
> naturally. You still have to work out an extensible file format to
> store stuff, and how to restore all that state you've so lovingly
> collected.
>
> 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 :)
-serge
next prev parent reply other threads:[~2008-08-12 14:49 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-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
2008-08-08 22:23 ` Arnd Bergmann
[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-14 8:09 ` 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
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 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
[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
[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-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
2008-08-11 17:11 ` Dave Hansen
[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 19:48 ` Dave Hansen
2008-08-11 21:47 ` Arnd Bergmann
[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
2008-08-21 8:43 ` Arnd Bergmann
[not found] ` <200808211043.41387.arnd-r2nGTMty4D4@public.gmane.org>
2008-08-21 15:43 ` Oren Laadan
2008-08-21 15:43 ` Oren Laadan
[not found] ` <48AD0379.9030705-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-08-21 8:43 ` Arnd Bergmann
2008-08-11 23:14 ` Jonathan Corbet
[not found] ` <20080811171433.2ce81f28-vw3g6Xz/EtPk1uMJSBkQmQ@public.gmane.org>
2008-08-11 23:23 ` Dave Hansen
2008-08-11 23:23 ` Dave Hansen
2008-08-11 21:47 ` Arnd Bergmann
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:38 ` Jeremy Fitzhardinge
2008-08-11 23:54 ` Peter Chubb
[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 14:49 ` Serge E. Hallyn [this message]
[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
2008-08-12 15:11 ` Dave Hansen
[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-12 14:58 ` Dave Hansen
2008-08-12 16:32 ` Jeremy Fitzhardinge
2008-08-12 16:32 ` Jeremy Fitzhardinge
2008-08-12 16:46 ` Dave Hansen
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-12 17:04 ` Jeremy Fitzhardinge
2008-08-20 21:54 ` Oren Laadan
2008-08-20 22:11 ` Dave Hansen
[not found] ` <48AC929C.9030901-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-08-20 22:11 ` Dave Hansen
2008-08-20 21:54 ` Oren Laadan
[not found] ` <48A1BB39.3090108-TSDbQ3PG+2Y@public.gmane.org>
2008-08-12 16:46 ` Dave Hansen
2008-08-08 22:13 ` [RFC][PATCH 1/4] checkpoint-restart: general infrastructure Arnd Bergmann
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-11 18:03 ` Jonathan Corbet
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 ` Dave Hansen
2008-08-07 22:40 ` [RFC][PATCH 2/4] checkpoint/restart: x86 support Dave Hansen
2008-08-07 22:40 ` Dave Hansen
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
2008-08-08 23:04 ` Oren Laadan
2008-08-09 0:38 ` Dave Hansen
2008-08-09 1:20 ` Oren Laadan
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-10 14:55 ` Jeremy Fitzhardinge
2008-08-10 14:55 ` Jeremy Fitzhardinge
[not found] ` <489F015E.9080704-TSDbQ3PG+2Y@public.gmane.org>
2008-08-11 15:36 ` Dave Hansen
2008-08-11 15:36 ` Dave Hansen
2008-08-11 16:07 ` Jeremy Fitzhardinge
2008-08-11 16:07 ` Jeremy Fitzhardinge
2008-08-09 6:43 ` Arnd Bergmann
[not found] ` <489CD0F9.9060603-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-08-09 0:38 ` Dave Hansen
2008-08-09 6:43 ` Arnd Bergmann
[not found] ` <200808090029.28286.arnd-r2nGTMty4D4@public.gmane.org>
2008-08-08 23:04 ` Oren Laadan
[not found] ` <489CAC70.7090809-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-08-08 22:29 ` Arnd Bergmann
2008-08-08 12:09 ` Arnd Bergmann
2008-08-07 22:40 ` [RFC][PATCH 3/4] checkpoint/restart: memory management Dave Hansen
2008-08-07 22:40 ` Dave Hansen
2008-08-08 12:12 ` Arnd Bergmann
2008-08-08 12:12 ` Arnd Bergmann
2008-08-07 22:40 ` [RFC][PATCH 4/4] introduce sys_checkpoint and sys_restore Dave Hansen
2008-08-08 12:15 ` Arnd Bergmann
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-07 22:40 ` Dave Hansen
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=20080812144905.GA16016@us.ibm.com \
--to=serue@us.ibm.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=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.