[CRIU] [PATCH RFC 0/8] lazy-pages: add support for remote pages

Mike Rapoport rppt at linux.vnet.ibm.com
Sat May 21 03:49:34 PDT 2016


Hi,

This is a draft implementation of using uffd with remote pages.
The dump side collects all the dumpee memory to the pipes and after
everything but memory is dumped it starts a TCP server that will handle
requests for pages from the restore side.
At this point the checkpoint directory can be transferred to the restore
side and 'criu lazy-pages + criu restore' will be able to handle the
restore.
An example running sequence is described at the last patch description.`

Some notes:
- the dump process is slightly refactored to make this work, but I believe
  some more refactoring is needed to make the things clean
- the page_pipe_split is most probably still does not cover all corner
  cases
- there is still a *lot* to do from the performance perspective

Mike Rapoport (8):
  criu: slightly refactor memory dump to support delaying it
  criu: page_pipe_buf: add PPB_LAZY flag
  criu: page-pipe: introduce page_pipe_buf manipulation helpers
  criu: page-pipe: introduce page_pipe_split
  criu: page-xfer: add ability to skip writing lazy pages
  criu: page-xfer: add PS_IOV_GET interface
  criu: uffd: add --lazy-addr option
  criu: lazy-pages: enable remoting of lazy pages

 criu/cr-dump.c                  |  77 +++++++++--
 criu/crtools.c                  |   4 +
 criu/include/cr_options.h       |   1 +
 criu/include/mem.h              |   2 +-
 criu/include/page-pipe.h        |   8 +-
 criu/include/page-xfer.h        |   4 +-
 criu/include/parasite-syscall.h |   1 -
 criu/include/pstree.h           |   1 +
 criu/mem.c                      |  50 ++++---
 criu/page-pipe.c                | 289 ++++++++++++++++++++++++++++++++++------
 criu/page-read.c                |   2 +-
 criu/page-xfer.c                | 103 ++++++++++++--
 criu/parasite-syscall.c         |   2 +
 criu/shmem.c                    |   4 +-
 criu/uffd.c                     |  35 +++--
 15 files changed, 482 insertions(+), 101 deletions(-)

-- 
1.9.1



More information about the CRIU mailing list