Re: [PATCH v12 7/8] cgroup: add a tset_get_css macro

From: Tejun Heo
Date: Mon May 18 2015 - 17:34:32 EST


On Tue, May 19, 2015 at 12:51:06AM +1000, Aleksa Sarai wrote:
> This adds a macro to get the css of a tset (using task_get_css()) by
> just grabbing a ref to the first item in the tset (since there is a
> guarantee that all tasks in a tset share a css).
>
> This is in preparation for implementing the pids cgroup subsystem.
>
> Signed-off-by: Aleksa Sarai <cyphar@xxxxxxxxxx>
> ---
> include/linux/cgroup.h | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h
> index 886a883..773846d 100644
> --- a/include/linux/cgroup.h
> +++ b/include/linux/cgroup.h
> @@ -639,6 +639,18 @@ struct task_struct *cgroup_taskset_next(struct cgroup_taskset *tset);
> for ((task) = cgroup_taskset_first((tset)); (task); \
> (task) = cgroup_taskset_next((tset)))
>
> +/**
> + * tset_get_css - obtain and get css for (tset, subsys_id)
> + * @tset: target taskset
> + * @subsys_id: target subsystem id
> + *
> + * Since all of the tasks in a taskset are guaranteed to have the same css, it's
> + * safe to grab the ref of just the first task's css and treat it as though you
> + * have a ref on the taskset's "collective" css.
> + */
> +#define tset_get_css(tset, subsys_id) \
> + task_get_css(cgroup_taskset_first(tset), subsys_id)

They aren't tho. It depends on the hierarchy configuration. csses
belonging to hierarchies which aren't the current migration target may
differ.

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/