[Devel] [rfc rh7 0/2] Tune cgroups code to do checkpoint/restore cycles

Vladimir Davydov vdavydov at parallels.com
Thu May 14 03:54:08 PDT 2015


Hi,

On Thu, May 14, 2015 at 01:28:55PM +0300, Cyrill Gorcunov wrote:
>  - criu moves restored process tree into appropriate cgroups
>    (ie @tasks) so that we need to be able to write entries.

Do I understand correctly that criu first restores the process tree and
only then writes restored processes' pids to <croup-name>/tasks?

If so, it is incorrect. A process restore must be done from inside a
cgroup it belongs to, otherwise you'll miss resource accounting. E.g.
moving charges on attaching a task to a memory cgroup
(memory.move_charge_at_immigrate) simply does not work for kmem and is
going to be obsolete for user charges.

The same is fair for our home-brewed beancounter cgroup: charges are
never moved.

I guess you should move a process to the appropriate cgroup before
spawning a child and then move it back to where it belongs.

Thanks,
Vladimir



More information about the Devel mailing list