[CRIU] [PATCH v3 00/19] uffd: A new set of improvements
Mike Rapoport
rppt at linux.vnet.ibm.com
Tue Nov 15 08:57:09 PST 2016
Hi,
This is combined respin of remaining uffd improvements [1] and
de-synchronization of remote page transfers [2].
So, in a nutshell, these patches replace page lists with IOV lists in
uffd.c, enable asynchronous remote pages transfer and allow transferring
pages that had not faulted in large chunks, no matter locally or remotely.
An immediate improvement we'd also need after these are merged is to
restore hash table of lazy_pages_info, replacing hash key with pid rather
than uffd. Pavel, that's on you ;-)
v3:
* merge two sets along with patches I've forgot to send at the first place
* fix compilation with clang and on arm
[1] https://lists.openvz.org/pipermail/criu/2016-November/033085.html
[2] https://lists.openvz.org/pipermail/criu/2016-November/033119.html
Mike Rapoport (18):
criu: pagemap: make advance a public method
criu: lazy-pages: replace page list with IOVs list
lazy-pages: refactor uffd_handle_page
lazy-pages: fix zero pages handling
criu: lazy_pages: make buffer for copying pages per-process
lazy-pages: drop _page suffix from uffd_{copy,zero}_page
criu: lazy-pages: add nr_pages parameter to uffd_{copy,zero}
criu: lazy-pages: add nr (of pages) parameter to handle_regular_pages
criu: lazy-pages: copy remaining IOVs in chunks
criu: page-xfer: get_remote_page: respect nr_pages parameter
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
lazy-pages: unblock second receive in page_server_event
Pavel Emelyanov (1):
uffd: Introduce lazy_pages_fd as preparation for socket polling
criu/cr-dump.c | 4 +-
criu/include/page-xfer.h | 17 ++
criu/include/pagemap.h | 11 +-
criu/page-xfer.c | 52 ++++-
criu/pagemap.c | 37 ++-
criu/uffd.c | 578 ++++++++++++++++++++++++++++++-----------------
6 files changed, 483 insertions(+), 216 deletions(-)
--
1.9.1
More information about the CRIU
mailing list