[CRIU] [RFC PATCH 0/7] lazy-pages: desynchronize (somewhat) remote pages transfers

Mike Rapoport rppt at linux.vnet.ibm.com
Mon Nov 14 07:37:23 PST 2016


Hi,

This is the first attempt to implement long anticipated asynchronous remote
pages transfer.
I cannot say I'm completely happy with these patches, but after spending
several days on this I've completely run out of the ideas.

The first patch in the series moves the remote pages handling into
page_read, thus allowing mixing pre-dumps with lazy migration, which is
pretty valuable by its own.

The next five contain some movements of code around as the preparation for 

The last (little bit overgrown) patch actually enables us to take care of
page faults while waiting for the data from the network.

I must also note, that we still have bugs in page_pipe_split and they
trigger quite often when one tries lazy migration ;-)

Mike Rapoport (7):
  lazy-pages: extend the page_read with ability to read remote pages
  lazy-pages: make uffd_{copy,zero} return 0 on success
  page-xfer: make connect_to_page_server return socket fd
  page-xfer: add methods for requesting and receiving remote pages
  lazy-pages: introduce uffd_seek_or_zero_pages
  pagemap: add ability to request remote pages
  lazy-pages: implement semi-async remote page transfer

 criu/cr-dump.c           |   4 +-
 criu/include/page-xfer.h |  17 ++++++
 criu/include/pagemap.h   |   7 ++-
 criu/page-xfer.c         |  47 ++++++++++++++-
 criu/pagemap.c           |  36 +++++++++--
 criu/uffd.c              | 153 ++++++++++++++++++++++++++++++++++++++++-------
 6 files changed, 233 insertions(+), 31 deletions(-)

-- 
1.9.1



More information about the CRIU mailing list