[Devel] Re: [BIG RFC] Filesystem-based checkpoint

Dave Hansen dave at linux.vnet.ibm.com
Thu Oct 30 13:11:24 PDT 2008


On Thu, 2008-10-30 at 15:47 -0400, Oren Laadan wrote:
>   3. Your approach doesn't play well with what I call "checkpoint that
>   involves self". This term refers to a process that checkpoints itself
>   (and only itself), or to a process that attempts to checkpoint its own
>   container.  In both cases, there is no other entity that will read the
>   data from the file system while the caller is blocked.
> 
> This is a key point for me, with multiple use cases. The simplest, if
> you will, is for a process to simply checkpoint itself (no containers
> and other crap :p). Same for dumping your own container. And there are
> others.

Let's take a step back here.  I believe that strictly enforcing this
requirement strictly requires that the checkpoint be done in its
entirety by the kernel.

A process must have its state serialized in a repeatable way.  That
basically precludes  it running during the checkpoint, or having its
state change in any way that isn't atomic.

If a process can't be, itself, running during a checkpoint, then
something running must be performing the checkpoint.  That "something"
must either be another process or the kernel.  Since you've defined the
goal as a self-checkpoint, it *can't* be another process.  So, it *must*
be the kernel.

When it comes down to it, I think this point drives quite a bit of the
implementation.  The cr_kread/write(), for instance.  We *need* the
kernel to do the writing since we've completely precluded userspace from
doing it.

-- Dave

_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers




More information about the Devel mailing list