[Devel] Re: [RFC][PATCH] memory cgroup enhancements updated [8/10] add pre_destroy handler
Balbir Singh
balbir at linux.vnet.ibm.com
Wed Oct 24 07:49:34 PDT 2007
KAMEZAWA Hiroyuki wrote:
> My main purpose of this patch is for memory controller..
>
> This patch adds a handler "pre_destroy" to cgroup_subsys.
> It is called before cgroup_rmdir() checks all subsys's refcnt.
>
> I think this is useful for subsyses which have some extra refs
> even if there are no tasks in cgroup.
>
> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
>
> include/linux/cgroup.h | 1 +
> kernel/cgroup.c | 7 +++++++
> 2 files changed, 8 insertions(+)
>
> Index: devel-2.6.23-mm1/include/linux/cgroup.h
> ===================================================================
> --- devel-2.6.23-mm1.orig/include/linux/cgroup.h
> +++ devel-2.6.23-mm1/include/linux/cgroup.h
> @@ -233,6 +233,7 @@ int cgroup_is_descendant(const struct cg
> struct cgroup_subsys {
> struct cgroup_subsys_state *(*create)(struct cgroup_subsys *ss,
> struct cgroup *cont);
> + void (*pre_destroy)(struct cgroup_subsys *ss, struct cgroup *cont);
> void (*destroy)(struct cgroup_subsys *ss, struct cgroup *cont);
> int (*can_attach)(struct cgroup_subsys *ss,
> struct cgroup *cont, struct task_struct *tsk);
> Index: devel-2.6.23-mm1/kernel/cgroup.c
> ===================================================================
> --- devel-2.6.23-mm1.orig/kernel/cgroup.c
> +++ devel-2.6.23-mm1/kernel/cgroup.c
> @@ -2158,6 +2158,13 @@ static int cgroup_rmdir(struct inode *un
> parent = cont->parent;
> root = cont->root;
> sb = root->sb;
> + /*
> + * Notify subsyses that rmdir() request comes.
> + */
> + for_each_subsys(root, ss) {
> + if ((cont->subsys[ss->subsys_id]) && ss->pre_destroy)
> + ss->pre_destroy(ss, cont);
> + }
>
Is pre_destroy really required? Can't we do what we do here in destroy?
> if (cgroup_has_css_refs(cont)) {
> mutex_unlock(&cgroup_mutex);
>
--
Warm Regards,
Balbir Singh
Linux Technology Center
IBM, ISTL
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list