[RFC v2][PATCH 1/9] kernel based checkpoint-restart

Oren Laadan orenl at cs.columbia.edu
Wed Aug 20 22:15:20 PDT 2008

Subject line should have been 's/PATCH 1/PATCH 0/' ...

I left cr_debug() in for now to provide more info than pr_debug();
eventually that will be changed back to pr_debug()

In the mini-conference we considered doing CR in a kernel module,
but decided against because we needed a system call. It is still
possible to put the bulk of the code in a module. This is useful,
besides reducing debug time (recompile, unload, reload), to reduce
the kernel memory footprint. Also, an administrator can load/unload
the module to enable/disable this feature. Any thoughts ?


Oren Laadan wrote:
> These patches implement checkpoint-restart [CR v2]. This version adds
> save and restore of open files state (regular files and directories)
> which makes it more usable. Other changes address the feedback given
> for the previous version. It is also refactored (along Dave's posting)
> for easier reviewing.
> Todo:
> - Add support for x86-64 and improve ABI
> - Refine or change syscall interface
> - Extend to handle (multiple) tasks in a container
> - Security (without CAPS_SYS_ADMIN files restore may fail)
> Changelog:
> [2008-Aug-20] v2:
>   - Added dump and restore of open files (regular and directories);
>     see the changes in the test program (ckpt.c)
>   - Added basic handling of shared objects, and use 'parent tag'
>   - Added documentation
>   - Improved ABI, add 64bit padding for image data
>   - Improved locking when saving/restoring memory
>   - Added UTS information to header (release, version, machine)
>   - Cleanup extraction of filename from a file pointer
>   - Refactor to allow easier reviewing
>   - Remove requirement for CAPS_SYS_ADMIN until we come up with a
>     security policy (this means that file restore may fail)
>   - Other cleanup in response to comments for v1
> [2008-Jul-29] v1:
>   - Initial version: support a single task with address space of only
>     private anonymous or file-mapped VMAs; syscalls ignore pid/crid
>     argument and act on current process.

More information about the Containers mailing list