Line 3:
Line 3:
== Concepts ==
== Concepts ==
−
* Only MAP_PRIVATE | MAP_ANONYMOUS will be supported in the 1st version due to kernel constraints
* The <code>restore</code> action should accept yet another API switch: option <code>--lazy-pages</code>
* The <code>restore</code> action should accept yet another API switch: option <code>--lazy-pages</code>
+
* Remote pages drain would require synchronization between criu dump and criu restore. This is the [[p.haul]] responsibility, so it looks like the best solution here would be to make it work via [[page server]] and setup connection with [[RPC]]'s <code>ps.port</code> option.
[[File:Criu-memory-wflow.png]]
[[File:Criu-memory-wflow.png]]
Line 24:
Line 24:
== Known issues ==
== Known issues ==
+
* Only MAP_PRIVATE | MAP_ANONYMOUS will be supported in the 1st version due to kernel constraints.
* Userfault is known not to map one page into two places. Thus -- COW-ed pages will get COW-ed.
* Userfault is known not to map one page into two places. Thus -- COW-ed pages will get COW-ed.
* Andrea (author) states that UFFDIO_REMAP might be slow as compared to UUFDIO_COPY. Probably it makes sense to copy data into tasks, not move.
* Andrea (author) states that UFFDIO_REMAP might be slow as compared to UUFDIO_COPY. Probably it makes sense to copy data into tasks, not move.