Skip to content

RFC broken out c/r patches

Dave Hansen containers 1 version New

Get series with b4
b4 am 20080804203132.98ADAEAF@kernel

Versions newest first

  1. v1 RFC Latest3 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3kernel-based checkpoint-restart: general infrastructureMakefile ckpt/Makefile ckpt/checkpoint.c +4 more+782 -10 replies
2/3checkpoint/restart: x86 supportckpt/Makefile ckpt/checkpoint.c ckpt/ckpt_arch.h +3 more+336 -00 replies
3/3checkpoint/restart: memory managementarch/x86/kernel/ldt.c ckpt/Makefile ckpt/ckpt_arch.h +7 more+890 -20 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC][PATCH 0/3] broken out c/r patches

I've done a bit of refactoring to Oren's patches.

I wonder if they're in a state that people think we can share on LKML like Ted suggested. Thoughts?

--

At the containers mini-conference before OLS, the consensus among all the stakeholders was that doing checkpoint/restart in the kernel as much as possible was the best approach. With this approach, the kernel will export a relatively opaque 'blob' of data to userspace which can then be handed to the new kernel at restore time.

This is different that what had been proposed before, which was that a userspace application would be responsible for collecting all of this data. We were also planning on adding lots of new, little kernel interfaces for all of the things that needed checkpointing. This unites those into a single, grand interface.

The 'blob' will contain copies of select portions of kernel structures such as vmas and mm_structs. It will also contain copies of the actual memory that the process uses. Any changes in this blob's format between kernel revisions can be handled by an in-userspace conversion program.

This is a similar approach to virtually all of the commercial checkpoint/restart products out there, as well as the research project Zap.

These patches basically serialize internel kernel state and write it out to a file descriptor. The checkpoint and restore are done with two new system calls: sys_checkpoint and sys_restart.

In this incarnation, they can only work checkpoint and restore a single task. The task's address space may consist of only private, simple vma's - anonymous or file-mapped.