On Tue 19-06-12 09:09:47, KAMEZAWA Hiroyuki wrote:(2012/06/18 22:30), Michal Hocko wrote:On Mon 18-06-12 20:57:23, KAMEZAWA Hiroyuki wrote:2 follow-up patches for "memcg: move charges to root cgroup if use_hierarchy=0",
developped/tested onto memcg-devel tree. Maybe no HUNK with -next and -mm....
-Kame
==
memcg: remove -EINTR at rmdir()
By commit "memcg: move charges to root cgroup if use_hierarchy=0",
no memory reclaiming will occur at removing memory cgroup.
OK, so the there are only 2 reasons why move_parent could fail in this
path. 1) it races with somebody else who is uncharging or moving the
charge and 2) THP split.
1) works for us and 2) doens't seem to be serious enough to expect that
it would stall rmdir on the group for unbound amount of time so the
change is safe (can we make this into the changelog please?).
Yes. But the failure of move_parent() (-EBUSY) will be retried.
Remaining problems are
- attaching task while pre_destroy() is called.
- creating child cgroup while pre_destroy() is called.
I don't know why but I thought that tasks and subgroups are not alowed
when pre_destroy is called. If this is possible then we probably want to
check for pending signals or at least add cond_resched.