Commit f002c67f authored by Cyrill Gorcunov's avatar Cyrill Gorcunov

kernel: Update patches description

Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@gmail.com>
parent 2f3999d6
elf: Add support for loading ET_CKPT files elf: Add support for loading ET_CKPT files
This patch add ability to run checkpoint files by enhancing This patch add ability to run that named "checkpoint" files by
Elf file format, which includes enhancing Elf file format, which includes
- new Elf file type ET_CKPT - new Elf file type ET_CKPT
- three additional program header types PT_CKPT_VMA, PT_CKPT_CORE - three additional program header types PT_CKPT_VMA, PT_CKPT_CORE
and PT_CKPT_PAGES. and PT_CKPT_PAGES.
PT_CKPT_VMA -- holds 'vma_entry' structure, which describes the PT_CKPT_VMA -- holds 'vma_entry' structure, which describes the
memory area kernel should map. It also might contain file descriptor memory area the kernel should map. It also might contain a file descriptor
number so kernel will be mapping file povided. Usually such file get so the kernel will be mapping a file povided. Usually such file get
opened by user-space helper which prepares 'vma_entry' structure opened by user-space helper tool which prepares 'vma_entry' structure
for kernel. for the kernel.
PT_CKPT_CORE -- 'core_entry' structure (registers, tls, tasks specific
settings). The structure is defined as a 16K container which should be
enough for most cases. 8K of it is reserved for arch specific settings.
PT_CKPT_CORE -- 'core_entry' structure (registers, tls, etc) PT_CKPT_PAGES -- a set of all pages which contents we should restored.
PT_CKPT_PAGES -- a set of all pages which are to be read into Apart from Elf extension flush_old_exec() has been splitted to two
process memory. functions -- the former flush_old_exec() and flush_exec_keep_thread().
The later doesn't call for de_thread() allowing to keep threads
relationship. Also arch_setup_additional_pages_at() helper added
to setup vdso at predefined address.
v2: (from Andrew Vagin) At moment only x86-64 architecture is supported.
- load fs_base and gs_base via do_arch_prctl
- don't load tls and segments, it will be done in __switch_to
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
CC: Andrew Vagin <avagin@parallels.com>
CC: Pavel Emelyanov <xemul@parallels.com>
CC: James Bottomley <jbottomley@parallels.com>
CC: Glauber Costa <glommer@parallels.com>
CC: H. Peter Anvin <hpa@zytor.com>
CC: Ingo Molnar <mingo@elte.hu>
CC: Al Viro <viro@ZenIV.linux.org.uk>
CC: Tejun Heo <tj@kernel.org>
--- ---
arch/x86/include/asm/elf.h | 3 arch/x86/include/asm/elf.h | 3
arch/x86/include/asm/elf_ckpt.h | 80 ++++++++ arch/x86/include/asm/elf_ckpt.h | 80 ++++++++
......
fs: Add do_close helper fs: Add do_close helper
To be able to close file descriptors right from inside To be able to close file descriptors right from inside
kernel space do_close() helper is added. We need it at kernel space do_close() helper is added.
checkpoint restore time.
Signed-off-by: Pavel Emelyanov <xemul@parallels.com> Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
......
fs, proc: Add start_data, end_data, start_brk members to /proc/$pid/stat fs, proc: Add start_data, end_data, start_brk members to /proc/$pid/stat
It helps to dump and restore this members at chekpoint/restore time. It helps to dump and restore this mm_struct members at chekpoint/restore time.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
--- ---
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment