Re: [PATCH v16 02/16] cgroup/misc: Add per resource callbacks for CSS events
From: Huang, Kai
Date: Thu Aug 29 2024 - 05:25:54 EST
On Tue, 2024-08-20 at 18:53 -0700, Haitao Huang wrote:
> /**
> * misc_cg_alloc() - Allocate misc cgroup.
> * @parent_css: Parent cgroup.
> @@ -451,20 +519,25 @@ static struct cftype misc_cg_files[] = {
> static struct cgroup_subsys_state *
> misc_cg_alloc(struct cgroup_subsys_state *parent_css)
> {
> - enum misc_res_type i;
> - struct misc_cg *cg;
> + struct misc_cg *parent_cg, *cg;
> + int ret;
>
> if (!parent_css) {
> + parent_cg = &root_cg;
> cg = &root_cg;
> } else {
> cg = kzalloc(sizeof(*cg), GFP_KERNEL);
> if (!cg)
> return ERR_PTR(-ENOMEM);
> + parent_cg = css_misc(parent_css);
> }
>
> - for (i = 0; i < MISC_CG_RES_TYPES; i++) {
> - WRITE_ONCE(cg->res[i].max, MAX_NUM);
> - atomic64_set(&cg->res[i].usage, 0);
> + ret = _misc_cg_res_alloc(cg);
> + if (ret) {
> + if (likely(parent_css))
> + kfree(cg);
> +
> + return ERR_PTR(ret);
> }
>
> return &cg->css;
What's the purpose of @parent_cg?
# make kernel/cgroup/ W=1
...
kernel/cgroup/misc.c: In function ‘misc_cg_alloc’:
kernel/cgroup/misc.c:522:25: warning: variable ‘parent_cg’ set but not used [-
Wunused-but-set-variable]
522 | struct misc_cg *parent_cg, *cg;
| ^~~~~~~~~