In the current implementation, when a process moves to an another cgroup:
- Already allocated memory does not move to the cgroup, still remains.
- Only allocated memory after move belongs to the cgroup.
This behavior follows the memory controller.
Memory does not move between cgroups since it is so heavy operation,
but it would be worth under some sort of conditions.
Could you try to move a process between cgroups in the following way?
# echo $$ > /cgroup/bio/be0
# run_your_program
# echo $$ > /cgroup/bio/be1
# run_your_program
...
Have a nice vacation!
Thanks,
Ryo Tsuruta
--