[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