[CRIU] [PATCHv0 0/8] Implement anonymous shared memory deduplication

Eugene Batalov eabatalov89 at gmail.com
Sun Dec 6 05:15:16 PST 2015


Hello.

This patchset implements 3 types of shared memory deduplication:
1. Manual anonymous shared memory image deduplication on criu dedup command.
2. Anonymous shared memory pages autodedup on criu dump command.
   Kernel provided SOFT_DIRTY bits + parent anon shmem image are used.
   As with private anon mem this is enabled using --auto-dedup option.
3. Anonymous shared memory pages autodedup on criu restore command.
   Each restored page is removed from anon shmem dump.
   As with private anon mem this is enabled using --auto-dedup option.

This patchset heavily reuses existing page-read/xfer code
to implement the most of its new features.

Fyodor (8):
  page-xfer: fix wrong hole address offset
  pagemap-cache: add const-qualifier to pmc's vma
  proc_parse: increase longest in vma list when vma is for anon shared
    mem
  mem: reset SOFT_DIRTY bits after dumping of all vmas in the process
  shmem: implement dirty page tracking for anon shared memory
  page-read/xfer: add ability to open image hierarchy for shmem
  shmem: implement anon shared memory dedup on dump
  shmem: implement manual anon shared memory dedup

 cr-dedup.c              |  23 ++++++----
 cr-dump.c               |  25 +++++++++--
 include/mem.h           |   1 +
 include/page-read.h     |   4 +-
 include/pagemap-cache.h |   6 +--
 include/shmem.h         |   3 +-
 mem.c                   |   3 +-
 page-read.c             |  12 +++---
 page-xfer.c             |   9 +++-
 pagemap-cache.c         |   6 +--
 proc_parse.c            |   3 +-
 shmem.c                 | 109 ++++++++++++++++++++++++++++++------------------
 12 files changed, 132 insertions(+), 72 deletions(-)

-- 
1.9.1



More information about the CRIU mailing list