[CRIU] Develop a tracking memory updates model for a running process

Pavel Emelianov xemul at virtuozzo.com
Wed Mar 27 13:06:26 MSK 2019


On 3/23/19 11:59 AM, lupin10 at inwind.it wrote:
> Hi All,
> 
> sorry if it is not the right room where I may question, but I would like to ask if by starting from criu source code would be possible to develop a dirty memory model for each virtual address belonging to a running process. In more detail, I know about some virtual files just like smaps in the linux kernel, but in my mind, for a given running process, I would like to have the full page table and tracking for each memory address their updates in real time.

We do have the changes tracker in criu (https://criu.org/Memory_changes_tracking) that uses
the soft-dirty feature from the Linux kernel (https://www.kernel.org/doc/Documentation/vm/soft-dirty.txt)

However, this approach has many problems, one of the major is -- if there are two changes trackers,
they will silently spoil each-other's data. We have plans to re-invent this by using the
userfaultfd thing (https://criu.org/Userfaultfd). Likely Mike (in Cc) will provide more details on
the latter :)

-- Pavel

> Could you please address on which documents and any done work to start with?



More information about the CRIU mailing list