mirror of https://gitee.com/openkylin/linux.git
memory cgroup enhancements: implicit force_empty() at rmdir
Add pre_destroy handler for mem_cgroup and try to make mem_cgroup empty at rmdir(). Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Balbir Singh <balbir@linux.vnet.ibm.com> Cc: David Rientjes <rientjes@google.com> Cc: Herbert Poetzl <herbert@13thfloor.at> Cc: Kirill Korotaev <dev@sw.ru> Cc: Nick Piggin <nickpiggin@yahoo.com.au> Cc: Paul Menage <menage@google.com> Cc: Pavel Emelianov <xemul@openvz.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
4fca88c87b
commit
df878fb04d
|
@ -895,6 +895,13 @@ mem_cgroup_create(struct cgroup_subsys *ss, struct cgroup *cont)
|
||||||
return &mem->css;
|
return &mem->css;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mem_cgroup_pre_destroy(struct cgroup_subsys *ss,
|
||||||
|
struct cgroup *cont)
|
||||||
|
{
|
||||||
|
struct mem_cgroup *mem = mem_cgroup_from_cont(cont);
|
||||||
|
mem_cgroup_force_empty(mem);
|
||||||
|
}
|
||||||
|
|
||||||
static void mem_cgroup_destroy(struct cgroup_subsys *ss,
|
static void mem_cgroup_destroy(struct cgroup_subsys *ss,
|
||||||
struct cgroup *cont)
|
struct cgroup *cont)
|
||||||
{
|
{
|
||||||
|
@ -946,6 +953,7 @@ struct cgroup_subsys mem_cgroup_subsys = {
|
||||||
.name = "memory",
|
.name = "memory",
|
||||||
.subsys_id = mem_cgroup_subsys_id,
|
.subsys_id = mem_cgroup_subsys_id,
|
||||||
.create = mem_cgroup_create,
|
.create = mem_cgroup_create,
|
||||||
|
.pre_destroy = mem_cgroup_pre_destroy,
|
||||||
.destroy = mem_cgroup_destroy,
|
.destroy = mem_cgroup_destroy,
|
||||||
.populate = mem_cgroup_populate,
|
.populate = mem_cgroup_populate,
|
||||||
.attach = mem_cgroup_move_task,
|
.attach = mem_cgroup_move_task,
|
||||||
|
|
Loading…
Reference in New Issue