Messages in this thread | | | Date | Wed, 3 Sep 2008 16:06:37 +0200 | From | Louis Rilling <> | Subject | Re: [PATCH 0/9] OpenVZ kernel based checkpointing/restart |
| |
On Wed, Sep 03, 2008 at 03:49:51PM +0200, Louis Rilling wrote: > On Wed, Sep 03, 2008 at 02:57:47PM +0400, Andrey Mirkin wrote: > > This patchset introduces kernel based checkpointing/restart as it is > > implemented in OpenVZ project. This patchset has limited functionality and > > are able to checkpoint/restart only single process. Recently Oren Laaden > > sent another kernel based implementation of checkpoint/restart. The main > > differences between this patchset and Oren's patchset are: > > > > * In this patchset checkpointing initiated not from the process > > (right now we do not have a container, only namespaces), Oren's patchset > > performs checkpointing from the process context. > > > > * Restart in this patchset is initiated from process, which restarts a new > > process (in new namespaces) with saved state. Oren's patchset uses the same > > process from which restart was initiated and restore saved state over it. > > > > * Checkpoint/restart functionality in this patchset is implemented as a kernel > > module > > > > > > As checkpointing is initiated not from the process which state should be saved > > we should freeze a process before saving its state. Right now Container Freezer > > from Matt Helsley can be used for this. > > > > This patchset introduce only a concept how kernel based checkpointing/restart > > can be implemented and are able to checkpoint/restart only a single process > > with simple VMAs. > > > > I've tried to split my patchset in small patches to make review more easier. > > Thank you Andrey for having highlighted the differences with Oren's approach, > and for having split this patchset. Few remarks in reply to the patches.
Forgot a global comment: you will probably get the same (rather pointless for a proof of concept, IMHO) requests as Oren got, to 1) improve coding style: a) especially avoid error handling like: err = foo(); if (!err) err = bar(); if (!err) err = baz();
and prefer err = foo(); if (err) goto foo_err; err = bar(); ...
b) do not write conditions on a single line, like if (foo) bar;
2) put arch-dependent code in arch/ subdirs. 3) I probably forgot other ones.
I obviously do not personally request you to take these requests into account ;)
Louis
-- Dr Louis Rilling Kerlabs Skype: louis.rilling Batiment Germanium Phone: (+33|0) 6 80 89 08 23 80 avenue des Buttes de Coesmes http://www.kerlabs.com/ 35700 Rennes [unhandled content-type:application/pgp-signature] | |