[CRIU] [PATCH v6 0/9] lazy-pages: add support for remote pages

Mike Rapoport rppt at linux.vnet.ibm.com
Thu Jul 14 05:49:27 PDT 2016


Hi,

It's got pretty messy this time because of rework I needed to do for the
holes dumping code, which is what patches 1-5 actually do.
The patches 6-9 actually add ability to support remote lazy pages. There
were only minor changes there because of the rebase onto current criu-dev.

v6 changes:
* fix unsorted creation of holes pagemap entries

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 (9):
  Revert "pp: Reset busy_iov in pp->holes on reinit"
  Revert "pp: Fix lost code from hole dumping helper"
  Revert "criu: page-{pipe,xfer}: add helper function for dumping holes"
  Revert "criu: page-pipe: add a wrapping structure for holes and pages iovs"
  criu: page-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           |  38 ++++++++-
 criu/include/mem.h       |   3 +-
 criu/include/page-pipe.h |  24 +++---
 criu/include/page-xfer.h |   6 +-
 criu/include/stats.h     |   2 +
 criu/mem.c               |  59 ++++++++-----
 criu/page-pipe.c         |  77 +++++++++--------
 criu/page-xfer.c         | 216 +++++++++++++++++++++++++++++++++++++----------
 criu/pagemap.c           |  27 ++++--
 criu/shmem.c             |   2 +-
 criu/stats.c             |   2 +
 criu/uffd.c              |   9 +-
 images/pagemap.proto     |   2 +
 images/stats.proto       |   3 +
 14 files changed, 338 insertions(+), 132 deletions(-)

-- 
1.9.1



More information about the CRIU mailing list