[CRIU] [PATCH v3 00/11] lazy-pages: add support for remote pages
Adrian Reber
areber at redhat.com
Fri Jun 3 08:18:19 PDT 2016
I had a look at your patchset and I also tried to migrate a process with
it. I was able to migrate a small process without a problem but if fails
with a process that requires 200MB of memory. Trying to understand where
it fails I wished for some more debug output. Especially at the highest
verbosity level I would like to see how many pages were already
transferred, how many are missing, which page is transferred. Something
like that.
The failure with the 200MB process happens at:
ppb_resize_pipe()
ret = fcntl(ppb->p[0], F_SETPIPE_SZ, new_size * PAGE_SIZE);
with following parameters new_size = 2093056
This is the first time ppb_resize_pipe() is called during my test.
So overall I really like this. Thanks for doing this!
Oh, and the From address from this mail (rapoport at linux.vnet.ibm.com)
does not exist.
Adrian
On Wed, Jun 01, 2016 at 12:01:33AM +0300, Mike Rapoport wrote:
> From: Mike Rapoport <rppt at linux.vnet.ibm.com>
>
> Hi,
>
> This is essentially v2 plus small fix. I'm resending the entire set to see
> if CI fill find some other bugs :)
>
> 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:
> * refactor page-reader to support random access and remote page reads
> * make lazy-pages non-blocking with respect to #PFs
> * performance imporvements
>
> Mike Rapoport (11):
> criu: page-pipe: introduce page_pipe_buf manipulation helpers
> criu: page_pipe_buf: add PPB_LAZY flag
> criu: page-pipe: introduce page_pipe_split
> criu: page-xfer: move code aroud
> criu: page-xfer: intorduce helpers for sending IOVs
> 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: slightly refactor memory dump to support delaying it
> criu: page-pipe: add ability to allocate IOVs
> criu: lazy-pages: enable remoting of lazy pages
>
> criu/cr-dump.c | 57 +-
> criu/crtools.c | 4 +
> criu/include/cr_options.h | 1 +
> criu/include/mem.h | 3 +-
> criu/include/page-pipe.h | 9 +-
> criu/include/page-xfer.h | 4 +-
> criu/include/parasite-syscall.h | 1 -
> criu/include/pstree.h | 1 +
> criu/mem.c | 52 +-
> criu/page-pipe.c | 329 ++++++++++--
> criu/page-read.c | 2 +-
> criu/page-xfer.c | 1116 +++++++++++++++++++++------------------
> criu/parasite-syscall.c | 2 +
> criu/shmem.c | 4 +-
> criu/uffd.c | 35 +-
> 15 files changed, 992 insertions(+), 628 deletions(-)
>
> --
> 1.9.1
>
More information about the CRIU
mailing list