[CRIU] Optimize pre-dump algorithm

Abhishek Dubey dubeyabhishek777 at gmail.com
Thu Jul 25 04:18:00 MSK 2019


[PATCH 1/6] Skip adding PROT_READ flag
[PATCH 2/6] Skip generating iov for non PROT_READ region
[PATCH 3/6] Drain memory using process_vm_readv syscall
[PATCH 4/6] Adding new function cnt_sub
[PATCH 5/6] Hack to handle vmsplice fail: resolve later
[PATCH 6/6] Refactor time accounting macros


Stats Dump:
===========

Optimized pre-dump:
===================

s
=== Run 1/1 ================ zdtm/transition/maps007
======================= Run zdtm/transition/maps007 in h
=======================
Start test
Test is SUID
./maps007 --pidfile=maps007.pid --outfile=maps007.out
Run criu pre-dump
{
    "magic": "STATS",
    "entries": [
        {
            "dump": {
                "freezing_time": 227,
                "frozen_time": 81509,
                "memdump_time": 33139,
                "memwrite_time": 15374,
                "pages_scanned": 134211,
                "pages_skipped_parent": 0,
                "pages_written": 2626,
                "irmap_resolve": 0,
                "pages_lazy": 0,
                "page_pipes": 10,
                "page_pipe_bufs": 22,
                "shpages_scanned": 2,
                "shpages_skipped_parent": 0,
                "shpages_written": 2
            }
        }
    ]
}
Run criu dump
{
    "magic": "STATS",
    "entries": [
        {
            "dump": {
                "freezing_time": 216,
                "frozen_time": 173619,
                "memdump_time": 93012,
                "memwrite_time": 40636,
                "pages_scanned": 264466,
                "pages_skipped_parent": 45,
                "pages_written": 7019,
                "irmap_resolve": 0,
                "pages_lazy": 0,
                "page_pipes": 18,
                "page_pipe_bufs": 18,
                "shpages_scanned": 2,
                "shpages_skipped_parent": 0,
                "shpages_written": 2
            }
        }
    ]
}
Run criu restore
{
    "magic": "STATS",
    "entries": [
        {
            "restore": {
                "pages_compared": 184,
                "pages_skipped_cow": 176,
                "forking_time": 1209,
                "restore_time": 90484,
                "pages_restored": 6888
            }
        }
    ]
}
Send the 15 signal to  38
Wait for zdtm/transition/maps007(38) to die for 0.100000
Wait for zdtm/transition/maps007(38) to die for 0.200000
Removing dump/zdtm/transition/maps007/38
====================== Test zdtm/transition/maps007 PASS
=======================


Vanilla pre-dump:
=================

criu at criu-gsoc:~/vanilla/criu$ sudo python test/zdtm.py run --pre 1 -t
zdtm/transition/maps007 --show-stats
=== Run 1/1 ================ zdtm/transition/maps007
======================= Run zdtm/transition/maps007 in h
=======================
Start test
Test is SUID
./maps007 --pidfile=maps007.pid --outfile=maps007.out
Run criu pre-dump
{
    "magic": "STATS",
    "entries": [
        {
            "dump": {
                "freezing_time": 225,
                "frozen_time": 112146,
                "memdump_time": 50245,
                "memwrite_time": 42774,
                "pages_scanned": 264402,
                "pages_skipped_parent": 0,
                "pages_written": 7120,
                "irmap_resolve": 0,
                "pages_lazy": 0,
                "page_pipes": 17,
                "page_pipe_bufs": 29,
                "shpages_scanned": 2,
                "shpages_skipped_parent": 0,
                "shpages_written": 2
            }
        }
    ]
}
Run criu dump
{
    "magic": "STATS",
    "entries": [
        {
            "dump": {
                "freezing_time": 212,
                "frozen_time": 168895,
                "memdump_time": 92811,
                "memwrite_time": 41312,
                "pages_scanned": 264541,
                "pages_skipped_parent": 50,
                "pages_written": 7296,
                "irmap_resolve": 0,
                "pages_lazy": 0,
                "page_pipes": 18,
                "page_pipe_bufs": 18,
                "shpages_scanned": 2,
                "shpages_skipped_parent": 0,
                "shpages_written": 2
            }
        }
    ]
}
Run criu restore
{
    "magic": "STATS",
    "entries": [
        {
            "restore": {
                "pages_compared": 637,
                "pages_skipped_cow": 631,
                "forking_time": 1254,
                "restore_time": 109873,
                "pages_restored": 6715
            }
        }
    ]
}
Send the 15 signal to  38
Wait for zdtm/transition/maps007(38) to die for 0.100000
Wait for zdtm/transition/maps007(38) to die for 0.200000
Removing dump/zdtm/transition/maps007/38
====================== Test zdtm/transition/maps007 PASS
=======================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvz.org/pipermail/criu/attachments/20190725/b23d78f3/attachment-0001.html>


More information about the CRIU mailing list