[CRIU] [PATCH 0/3] page-pipe: split dumping memory on chunks (v3)

Andrey Vagin avagin at openvz.org
Sat Feb 8 11:16:42 PST 2014


The problem is that vmsplice() to a big pipe fails very often.

The kernel allocates the linear chunk of memory for pipe buffer
descriptos, but big allocation in kernel can fail.

So we need to restrict maximal capacity of pipes. But the number of
pipes is restricted too, so we need to split dumping memory on chunks.

In this patch we calculates the pipe size for which vmsplice() will not
fail.

v2: s/batch/chunk and a few other small fixes
v3: reuse pipes and removes callbacks from page-pipe code
Signed-off-by: Andrey Vagin <avagin at openvz.org>

Andrey Vagin (3):
  page-pipe: split dumping memory on chunks (v3)
  mem: move code to splice memory into pipes in a separate function
  mem: use chunk mode for dumping anonymous  memory

 include/page-pipe.h |   9 +++-
 mem.c               | 139 +++++++++++++++++++++++++++++++---------------------
 page-pipe.c         |  63 ++++++++++++++++++++++--
 shmem.c             |   2 +-
 4 files changed, 151 insertions(+), 62 deletions(-)

--
1.8.5.3



More information about the CRIU mailing list