[CRIU] [PATCH 00/22] [RFC] Parasite daemon mode, v4
Andrey Vagin
avagin at openvz.org
Wed May 8 09:28:27 EDT 2013
Hi guys, here is a parasite daemon mode updated series.
v3: Main changes is that -- tsock is used for both: commands
and data transfer. arm still is not converted thus won't
be working with this series, once it's accepted we need
a few fixes to arm code.
v4:
* Fix a few minor bugs
* Block signals before dumping registers of threads
* sigreturn is used for exiting from parasite, so if crtools died
unexpectedly, all processes are able to exit from parasite code.
Please take a look. Thanks.
Andrey Vagin (12):
parasite: use a propper command for getting ack
parasite: restore thread registers
dump: block signals with help of ptrace
parasite: remove extra synchronisation
restore: use a concrete object for constructing sigframe
restore: add a function for constructing sigframe
restore: split restore_gpregs on two parts
restore: construct sigframe in crtools
dump: fill sigblock mask immediately after getting it
dump: reseve space and construc sigframes for parasites
parasite: transfer a pointer on sigframe to parasite
parasite: restore parasite state via rt_sigreturn
Cyrill Gorcunov (10):
x86: syscalls -- Add sys_sendto/sys_recvfrom helpers
x86: parasite -- Add call_daemon_thread and asm_trap helpers
pstree: Bind CoreEntry to pstree and fill it with registers early
parasite-syscall: Add "trap" postfix to parasite execute functions
parasite: Extend tid_state_s structure
parasite: Initialize tid_state_s::real on parasite bootstrap
parasite: Use thread state hash for fast lookup over thread state
areas
parasite: Prepare structures for daemon mode
parasite: Initialize @cmd/ack in init_thread
parasite: Switch parasite to daemon mode
Makefile.crtools | 1 +
arch/arm/crtools.c | 63 ++++-
arch/arm/include/asm/dump.h | 2 +-
arch/arm/include/asm/restore.h | 2 +-
arch/arm/include/asm/restorer.h | 5 +-
arch/arm/include/asm/types.h | 2 +
arch/arm/restorer.c | 37 +--
arch/x86/crtools.c | 72 ++++--
arch/x86/include/asm/dump.h | 2 +-
arch/x86/include/asm/fpu.h | 2 +
arch/x86/include/asm/parasite.h | 26 ++
arch/x86/include/asm/restore.h | 2 +-
arch/x86/include/asm/restorer.h | 6 +-
arch/x86/restorer.c | 43 +---
arch/x86/syscall-x86-64.def | 2 +
cr-dump.c | 150 ++++-------
cr-exec.c | 4 +-
cr-restore.c | 12 +-
include/parasite-syscall.h | 38 ++-
include/parasite.h | 28 ++-
include/pstree.h | 7 +
include/ptrace.h | 3 +
include/restorer.h | 6 -
include/sigframe.h | 4 +
mem.c | 18 +-
parasite-syscall.c | 537 +++++++++++++++++++++++++++++-----------
pie/parasite.c | 351 +++++++++++++++++++++-----
pie/restorer.c | 11 +-
pstree.c | 80 ++++++
sigframe.c | 35 +++
test/zdtm.sh | 2 +-
31 files changed, 1092 insertions(+), 461 deletions(-)
create mode 100644 sigframe.c
--
1.8.2
More information about the CRIU
mailing list