[CRIU] [PATCH v5 0/8] lazy-pages: add support for remote pages
Mike Rapoport
rppt at linux.vnet.ibm.com
Tue Jun 28 22:55:05 PDT 2016
Hi,
Yet another respin.
The most significant difference is addition of lazy and zero pages notion.
This makes the pagemap somewaht more consistent. The zero pages were not
strictly necessary for the current series, but I think that this
information will be very relevant for lazy-pages performance optimizations.
v5 changes:
* added notion of zero pages and lazy pages in the pagemap.
* added several tcp_{cork,nodelay} to speedup network tranfers
v4 changes:
* fixed ppb_alloc_resize to pass nr_pages instead of nr_bytes to fcntl
* added removal of ppb's right after they are spliced to socked
v3 changes:
* fixed initialization of pp->own_iovs, thanks Mr. Jenkins
v2 changes:
* added helpers to page-xfer to reduce code duplication
* modified protocol between dump side page server and lazy pages daemon as
per Pavel's comments
* some changes in the way parasite_dump_pages_seized is refactored. There's
still more to improve here, even without addition of lazy pages support :)
TODO:
* cointinue refactoring of page-reader to support random access and remote
page reads
* make lazy-pages non-blocking with respect to #PFs
* performance imporvements
Mike Rapoport (8):
criu: page-pipe: add ability to allocate IOVs
criu: slightly refactor memory dump to support delaying it
criu: page-pipe: add a wrapping structure for holes and pages iovs
criu: page-{pipe,xfer}: add helper function for dumping holes
criu: pagemap: add entries for zero pages
criu: add ability to skip writing lazy pages
criu: page-xfer: add PS_IOV_GET interface
criu: lazy-pages: enable remoting of lazy pages
criu/cr-dump.c | 57 +++++++---
criu/include/mem.h | 3 +-
criu/include/page-pipe.h | 33 ++++--
criu/include/page-xfer.h | 6 +-
criu/include/parasite-syscall.h | 1 -
criu/include/pstree.h | 2 +
criu/include/stats.h | 2 +
criu/mem.c | 72 ++++++++-----
criu/page-pipe.c | 102 +++++++++++-------
criu/page-xfer.c | 234 ++++++++++++++++++++++++++++++----------
criu/pagemap.c | 27 +++--
criu/parasite-syscall.c | 2 +
criu/shmem.c | 13 +--
criu/stats.c | 2 +
criu/uffd.c | 9 +-
images/pagemap.proto | 2 +
images/stats.proto | 3 +
17 files changed, 402 insertions(+), 168 deletions(-)
--
1.9.1
More information about the CRIU
mailing list