[CRIU] [PATCH] criu: add make lazy support to crit

Pavel Emelyanov xemul at virtuozzo.com
Wed May 11 06:06:48 PDT 2016


On 05/11/2016 10:19 AM, Adrian Reber wrote:
> On Fri, May 06, 2016 at 02:57:13PM +0300, Pavel Emelyanov wrote:
>> Sorry for such a long delay in review. Here are my comments, inline.
>>
>> On 04/29/2016 11:39 AM, Adrian Reber wrote:
>>> From: Adrian Reber <areber at redhat.com>
>>>
>>> This enables crit to remove all memory pages from a checkpoint
>>> directory which can be lazily restored using userfaultfd. This
>>> changes the pagemap.img and pages.img to no longer contain pages
>>> which can be handled by userfaultfd (MAP_PRIVATE && MAP_ANON).
>>>
>>> Usage:
>>>
>>>  $ crit/crit make-lazy /tmp/4/ /tmp/5
>>
>> We already have the pagemaps manipulation code called 'dedup'. And it
>> sits in criu binary :) I don't insist in implementing make-lazy in criu
>> too, crit looks better place, but any ideas how to make dedup and
>> make-lazy be better aligned with each other?
> 
> Ah, I always thought dedup was only used during restore to remove
> already restored pages from the checkpoint. I was not aware that it can
> also run standalone to clean up checkpoints.
> 
> If I understand the code correctly the dedup option removes pages from
> parent checkpoints (pre-dump) which are also present in the child
> checkpoints, right?

Yes.

> This sounds indeed just like what I tried to do with crit with
> make-lazy. Checkpoint manipulation sounds much easier in python but if
> the code already exists for dedup I am also undecided. I think python
> makes more sense as I also want to provide the possibility to undo the
> 'make-lazy' operation: Create a 'normal' checkpoint from the two parts
> which result from 'make-lazy'. I will try to address your code comments
> and send a second version of the patch.

So you have an idea how to clean up all this mess we've made with dedup :D
Thanks heaps!!!

-- Pavel



More information about the CRIU mailing list