[CRIU] [PATCH 00/24] Parasite daemon mode, v5

Andrey Vagin avagin at openvz.org
Wed May 22 16:08:01 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.

v5: * don't use PTRACE_SETSIGMASK, because it is not commited in the
    upstream kernel and we should be compatiable with it.
    * a few minore fixes. Look at the last patches

Please take a look. Thanks.

Andrey Vagin (17):
  parasite: use a propper command for getting ack
  parasite: restore thread registers
  dump: update task registers if a signal is started handling
  dump: save registers when the task is already infected
  dump: return signal mask from parasite on initialization
  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
  parasite: remove PARASITE_CMD_DAEMONIZED and s->ack
  parasite: remove the hash table for tid_state-s
  parasite: don't store sig_blocked in a parasite

Cyrill Gorcunov (7):
  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: Use thread state hash for fast lookup over thread state
    areas
  parasite: Prepare structures for daemon mode
  x86: parasite -- Add call_daemon_thread and asm_trap helpers
  parasite: Switch parasite to daemon mode

 Makefile.crtools                |   1 +
 arch/arm/crtools.c              |  66 ++++--
 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              |  77 +++++--
 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 +---
 cr-dump.c                       | 137 ++++--------
 cr-exec.c                       |   4 +-
 cr-restore.c                    |  12 +-
 include/lock.h                  |   4 +
 include/parasite-syscall.h      |  45 +++-
 include/parasite.h              |  29 ++-
 include/pstree.h                |   6 +
 include/restorer.h              |   6 -
 include/sigframe.h              |   4 +
 mem.c                           |  17 +-
 parasite-syscall.c              | 463 ++++++++++++++++++++++++++++++++--------
 pie/parasite.c                  | 320 ++++++++++++++++++++-------
 pie/restorer.c                  |  11 +-
 pstree.c                        |  79 +++++++
 sigframe.c                      |  35 +++
 29 files changed, 1023 insertions(+), 422 deletions(-)
 create mode 100644 sigframe.c

--
1.8.2



More information about the CRIU mailing list