[CRIU] [PATCH 0/6] lazy-pages: always use pre-copy for stack

Mike Rapoport rppt at linux.vnet.ibm.com
Mon Aug 13 16:29:07 MSK 2018


Hi,

Using lazy restore for the current stack causes interesting effects in the
behaviour of the restored process. For instance, return from a system call
or signal handling take completely different paths when the page containing
the current stack frame is not present.

We can force pre-copy of the stack pages with almost no cost.

I'd appreciate if ppc64 and s390 people will confirm that my definitions of
REG_SP() for these architecture are correct :)

Mike Rapoport (6):
  compel: add APIs to get stack pointers
  criu: cleanup stale declarations of parasite_{init,fini}_threads_seized
  criu: dump: prepare parasite control for threads at infect time
  criu: dump: get stack pointers of all threads early
  criu: mem: introduce generate_vma_iovs helper function
  lazy-pages: don't mark current stack page as lazy

 .../src/lib/include/uapi/asm/infect-types.h        |   1 +
 .../arm/src/lib/include/uapi/asm/infect-types.h    |   1 +
 .../ppc64/src/lib/include/uapi/asm/infect-types.h  |   1 +
 .../s390/src/lib/include/uapi/asm/infect-types.h   |   1 +
 .../x86/src/lib/include/uapi/asm/infect-types.h    |   1 +
 compel/include/uapi/infect.h                       |   3 +
 compel/src/lib/infect.c                            |  10 +++
 criu/cr-dump.c                                     |   3 +-
 criu/include/parasite-syscall.h                    |   9 +-
 criu/include/pstree.h                              |   2 +
 criu/mem.c                                         | 100 +++++++++++++--------
 criu/parasite-syscall.c                            |  50 +++++++++--
 12 files changed, 133 insertions(+), 49 deletions(-)

-- 
2.7.4



More information about the CRIU mailing list