From 668ea674bd63c91f9922b2a4475d375abb42ea30 Mon Sep 17 00:00:00 2001 From: Mike Rapoport Date: Mon, 1 May 2017 10:11:56 +0300 Subject: [PATCH] docs: start documenting lazy-pages Signed-off-by: Mike Rapoport Signed-off-by: Andrei Vagin --- Documentation/criu.txt | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/Documentation/criu.txt b/Documentation/criu.txt index 24fba66d5..3e81d266d 100644 --- a/Documentation/criu.txt +++ b/Documentation/criu.txt @@ -317,6 +317,15 @@ For example, the command line for the above example should look like this: engine's default directory for tasks, permissions will not be preserved on the upper directories with no tasks in them, which may cause problems. +*--lazy-pages*:: + Perform the dump procedure without writing memory pages into the + image files and prepare to service page requests over the + network. When *dump* runs in this mode it presumes that + *lazy-pages* daemon will connect to it and fetch memory pages to + lazily inject them into the restored process address space. This + option is intended for post-copy (lazy) migration and should be + used in conjunction with *restore* with appropriate options. + *restore* ~~~~~~~~~ Restores previously checkpointed processes. @@ -466,6 +475,14 @@ are not adequate, but this can be suppressed by using *--cpu-cap=none*. to restore on an older kernel, or a kernel configured without some options. +*--lazy-pages*:: + Restore the processes without filling out the entire memory + contents. When this option is used, *restore* sets up the + infrastucture required to fill memory pages either on demand when + the process accesses them or in the background without stopping the + restored process. + This option requires running *lazy-pages* daemon. + *check* ~~~~~~~ Checks whether the kernel supports the features needed by *criu* to @@ -532,6 +549,18 @@ Launches *criu* in page server mode. *--port* 'number':: Page server port number. +*lazy-pages* +~~~~~~~~~~~~ +Launches *criu* in lazy-pages daemon mode. + +The *lazy-pages* daemon is responsible for managing user-level demand +paging for the restored processes. It gets information required to +fill the process memory pages from the *restore* and from the +checkpont directory. When a restored process access certain memory +page for the first time, the *lazy-pages* daemon injects its contents +into the process address space. The memory pages that are not yet +requested by the restored processes are injected in the background. + *exec* ~~~~~~ Executes a system call inside a destination task\'s context. This functionality