In recent discussion, Tejun Heo, cgroup maintainer, has a plan to remove ->pre_destroy(). And now, in cgroup tree, pre_destroy() failure cause WARNING. By pre_destroy(), rmdir of cgroup can return -EBUSY or some error. It makes cgroup complicated and unstable. I said O.K. to remove it and this patch is modification for memcg. One of problem in current implementation is that memcg moves all charges to parent in pre_destroy(). At doing so, if use_hierarchy=0, pre_destroy() may hit parent's limit and may return -EBUSY. To fix this problem, this patch changes behavior of rmdir() as - if use_hierarchy=0, all remaining charges will go to root cgroup. - if use_hierarchy=1, all remaining charges will go to the parent. By this, rmdir failure will not be caused by parent's limitation. And I think this meets meaning of use_hierarchy. This series does - add above change of behavior - use workqueue to move all pages to parent - remove unnecessary codes. I'm sorry if my reply is delayed, I'm not sure I can have enough time in this weekend. Any comments are welcomed. Thanks, -Kame -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html