[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