[LTP] [PATCH 5/6] API/cgroups: Auto add controllers to subtree_control in new subgroup
Cyril Hrubis
chrubis@suse.cz
Wed May 19 13:41:24 CEST 2021
Hi!
> - if (dir->dir_root->ver == TST_CGROUP_V2)
> + if (dir->dir_root->ver != TST_CGROUP_V1)
> cg->dirs_by_ctrl[0] = dir;
This change is useless, isn't it?
> for_each_ctrl(ctrl) {
> - if (has_ctrl(dir->ctrl_field, ctrl))
> - cg->dirs_by_ctrl[ctrl->ctrl_indx] = dir;
> + if (!has_ctrl(dir->ctrl_field, ctrl))
> + continue;
> +
> + cg->dirs_by_ctrl[ctrl->ctrl_indx] = dir;
> +
> + if (!parent || dir->dir_root->ver == TST_CGROUP_V1)
> + continue;
> +
> + SAFE_CGROUP_PRINTF(parent, "cgroup.subtree_control",
> + "+%s", ctrl->ctrl_name);
> }
Looks good. Agree that we should copy the controllers from parent here
for V2.
> for (i = 0; cg->dirs[i]; i++);
> @@ -876,7 +885,7 @@ tst_cgroup_group_mk(const struct tst_cgroup_group *const parent,
> for_each_dir(parent, 0, dir) {
> new_dir = SAFE_MALLOC(sizeof(*new_dir));
> cgroup_dir_mk(*dir, group_name, new_dir);
> - cgroup_group_add_dir(cg, new_dir);
> + cgroup_group_add_dir(parent, cg, new_dir);
> }
>
> return cg;
> @@ -1029,7 +1038,7 @@ static struct tst_cgroup_group *cgroup_group_from_roots(const size_t tree_off)
> dir = (typeof(dir))(((char *)root) + tree_off);
>
> if (dir->ctrl_field)
> - cgroup_group_add_dir(cg, dir);
> + cgroup_group_add_dir(NULL, cg, dir);
> }
>
> if (cg->dirs[0]) {
Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list