cgroup: s/cgroup_subsys_state/cgroup_css/ s/task_subsys_state/task_css/

The names of the two struct cgroup_subsys_state accessors -
cgroup_subsys_state() and task_subsys_state() - are somewhat awkward.
The former clashes with the type name and the latter doesn't even
indicate it's somehow related to cgroup.

We're about to revamp large portion of cgroup API, so, let's rename
them so that they're less awkward.  Most per-controller usages of the
accessors are localized in accessor wrappers and given the amount of
scheduled changes, this isn't gonna add any noticeable headache.

Rename cgroup_subsys_state() to cgroup_css() and task_subsys_state()
to task_css().  This patch is pure rename.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Li Zefan <lizefan@huawei.com>
This commit is contained in:
Tejun Heo 2013-08-08 20:11:22 -04:00
parent 61584e3f49
commit 8af01f56a0
18 changed files with 52 additions and 49 deletions

View file

@ -181,14 +181,13 @@ void blkg_conf_finish(struct blkg_conf_ctx *ctx);
static inline struct blkcg *cgroup_to_blkcg(struct cgroup *cgroup) static inline struct blkcg *cgroup_to_blkcg(struct cgroup *cgroup)
{ {
return container_of(cgroup_subsys_state(cgroup, blkio_subsys_id), return container_of(cgroup_css(cgroup, blkio_subsys_id),
struct blkcg, css); struct blkcg, css);
} }
static inline struct blkcg *task_blkcg(struct task_struct *tsk) static inline struct blkcg *task_blkcg(struct task_struct *tsk)
{ {
return container_of(task_subsys_state(tsk, blkio_subsys_id), return container_of(task_css(tsk, blkio_subsys_id), struct blkcg, css);
struct blkcg, css);
} }
static inline struct blkcg *bio_blkcg(struct bio *bio) static inline struct blkcg *bio_blkcg(struct bio *bio)

View file

@ -1946,7 +1946,7 @@ int bio_associate_current(struct bio *bio)
/* associate blkcg if exists */ /* associate blkcg if exists */
rcu_read_lock(); rcu_read_lock();
css = task_subsys_state(current, blkio_subsys_id); css = task_css(current, blkio_subsys_id);
if (css && css_tryget(css)) if (css && css_tryget(css))
bio->bi_css = css; bio->bi_css = css;
rcu_read_unlock(); rcu_read_unlock();

View file

@ -647,8 +647,15 @@ struct cgroup_subsys {
#undef IS_SUBSYS_ENABLED #undef IS_SUBSYS_ENABLED
#undef SUBSYS #undef SUBSYS
static inline struct cgroup_subsys_state *cgroup_subsys_state( /**
struct cgroup *cgrp, int subsys_id) * cgroup_css - obtain a cgroup's css for the specified subsystem
* @cgrp: the cgroup of interest
* @subsys_id: the subsystem of interest
*
* Return @cgrp's css (cgroup_subsys_state) associated with @subsys_id.
*/
static inline struct cgroup_subsys_state *cgroup_css(struct cgroup *cgrp,
int subsys_id)
{ {
return cgrp->subsys[subsys_id]; return cgrp->subsys[subsys_id];
} }
@ -678,7 +685,7 @@ extern struct mutex cgroup_mutex;
#endif #endif
/** /**
* task_subsys_state_check - obtain css for (task, subsys) w/ extra access conds * task_css_check - obtain css for (task, subsys) w/ extra access conds
* @task: the target task * @task: the target task
* @subsys_id: the target subsystem ID * @subsys_id: the target subsystem ID
* @__c: extra condition expression to be passed to rcu_dereference_check() * @__c: extra condition expression to be passed to rcu_dereference_check()
@ -686,7 +693,7 @@ extern struct mutex cgroup_mutex;
* Return the cgroup_subsys_state for the (@task, @subsys_id) pair. The * Return the cgroup_subsys_state for the (@task, @subsys_id) pair. The
* synchronization rules are the same as task_css_set_check(). * synchronization rules are the same as task_css_set_check().
*/ */
#define task_subsys_state_check(task, subsys_id, __c) \ #define task_css_check(task, subsys_id, __c) \
task_css_set_check((task), (__c))->subsys[(subsys_id)] task_css_set_check((task), (__c))->subsys[(subsys_id)]
/** /**
@ -701,22 +708,22 @@ static inline struct css_set *task_css_set(struct task_struct *task)
} }
/** /**
* task_subsys_state - obtain css for (task, subsys) * task_css - obtain css for (task, subsys)
* @task: the target task * @task: the target task
* @subsys_id: the target subsystem ID * @subsys_id: the target subsystem ID
* *
* See task_subsys_state_check(). * See task_css_check().
*/ */
static inline struct cgroup_subsys_state * static inline struct cgroup_subsys_state *task_css(struct task_struct *task,
task_subsys_state(struct task_struct *task, int subsys_id) int subsys_id)
{ {
return task_subsys_state_check(task, subsys_id, false); return task_css_check(task, subsys_id, false);
} }
static inline struct cgroup* task_cgroup(struct task_struct *task, static inline struct cgroup *task_cgroup(struct task_struct *task,
int subsys_id) int subsys_id)
{ {
return task_subsys_state(task, subsys_id)->cgroup; return task_css(task, subsys_id)->cgroup;
} }
/** /**

View file

@ -35,7 +35,7 @@ static inline u32 task_cls_classid(struct task_struct *p)
return 0; return 0;
rcu_read_lock(); rcu_read_lock();
classid = container_of(task_subsys_state(p, net_cls_subsys_id), classid = container_of(task_css(p, net_cls_subsys_id),
struct cgroup_cls_state, css)->classid; struct cgroup_cls_state, css)->classid;
rcu_read_unlock(); rcu_read_unlock();
@ -51,7 +51,7 @@ static inline u32 task_cls_classid(struct task_struct *p)
return 0; return 0;
rcu_read_lock(); rcu_read_lock();
css = task_subsys_state(p, net_cls_subsys_id); css = task_css(p, net_cls_subsys_id);
if (css) if (css)
classid = container_of(css, classid = container_of(css,
struct cgroup_cls_state, css)->classid; struct cgroup_cls_state, css)->classid;

View file

@ -39,7 +39,7 @@ static inline u32 task_netprioidx(struct task_struct *p)
u32 idx; u32 idx;
rcu_read_lock(); rcu_read_lock();
css = task_subsys_state(p, net_prio_subsys_id); css = task_css(p, net_prio_subsys_id);
idx = css->cgroup->id; idx = css->cgroup->id;
rcu_read_unlock(); rcu_read_unlock();
return idx; return idx;
@ -53,7 +53,7 @@ static inline u32 task_netprioidx(struct task_struct *p)
u32 idx = 0; u32 idx = 0;
rcu_read_lock(); rcu_read_lock();
css = task_subsys_state(p, net_prio_subsys_id); css = task_css(p, net_prio_subsys_id);
if (css) if (css)
idx = css->cgroup->id; idx = css->cgroup->id;
rcu_read_unlock(); rcu_read_unlock();

View file

@ -81,7 +81,7 @@
*/ */
#ifdef CONFIG_PROVE_RCU #ifdef CONFIG_PROVE_RCU
DEFINE_MUTEX(cgroup_mutex); DEFINE_MUTEX(cgroup_mutex);
EXPORT_SYMBOL_GPL(cgroup_mutex); /* only for task_subsys_state_check() */ EXPORT_SYMBOL_GPL(cgroup_mutex); /* only for lockdep */
#else #else
static DEFINE_MUTEX(cgroup_mutex); static DEFINE_MUTEX(cgroup_mutex);
#endif #endif

View file

@ -47,13 +47,13 @@ struct freezer {
static inline struct freezer *cgroup_freezer(struct cgroup *cgroup) static inline struct freezer *cgroup_freezer(struct cgroup *cgroup)
{ {
return container_of(cgroup_subsys_state(cgroup, freezer_subsys_id), return container_of(cgroup_css(cgroup, freezer_subsys_id),
struct freezer, css); struct freezer, css);
} }
static inline struct freezer *task_freezer(struct task_struct *task) static inline struct freezer *task_freezer(struct task_struct *task)
{ {
return container_of(task_subsys_state(task, freezer_subsys_id), return container_of(task_css(task, freezer_subsys_id),
struct freezer, css); struct freezer, css);
} }

View file

@ -117,14 +117,14 @@ struct cpuset {
/* Retrieve the cpuset for a cgroup */ /* Retrieve the cpuset for a cgroup */
static inline struct cpuset *cgroup_cs(struct cgroup *cgrp) static inline struct cpuset *cgroup_cs(struct cgroup *cgrp)
{ {
return container_of(cgroup_subsys_state(cgrp, cpuset_subsys_id), return container_of(cgroup_css(cgrp, cpuset_subsys_id),
struct cpuset, css); struct cpuset, css);
} }
/* Retrieve the cpuset for a task */ /* Retrieve the cpuset for a task */
static inline struct cpuset *task_cs(struct task_struct *task) static inline struct cpuset *task_cs(struct task_struct *task)
{ {
return container_of(task_subsys_state(task, cpuset_subsys_id), return container_of(task_css(task, cpuset_subsys_id),
struct cpuset, css); struct cpuset, css);
} }
@ -2724,7 +2724,7 @@ int proc_cpuset_show(struct seq_file *m, void *unused_v)
goto out_free; goto out_free;
rcu_read_lock(); rcu_read_lock();
css = task_subsys_state(tsk, cpuset_subsys_id); css = task_css(tsk, cpuset_subsys_id);
retval = cgroup_path(css->cgroup, buf, PAGE_SIZE); retval = cgroup_path(css->cgroup, buf, PAGE_SIZE);
rcu_read_unlock(); rcu_read_unlock();
if (retval < 0) if (retval < 0)

View file

@ -340,8 +340,8 @@ struct perf_cgroup {
static inline struct perf_cgroup * static inline struct perf_cgroup *
perf_cgroup_from_task(struct task_struct *task) perf_cgroup_from_task(struct task_struct *task)
{ {
return container_of(task_subsys_state(task, perf_subsys_id), return container_of(task_css(task, perf_subsys_id),
struct perf_cgroup, css); struct perf_cgroup, css);
} }
static inline bool static inline bool
@ -7798,7 +7798,7 @@ static struct cgroup_subsys_state *perf_cgroup_css_alloc(struct cgroup *cont)
static void perf_cgroup_css_free(struct cgroup *cont) static void perf_cgroup_css_free(struct cgroup *cont)
{ {
struct perf_cgroup *jc; struct perf_cgroup *jc;
jc = container_of(cgroup_subsys_state(cont, perf_subsys_id), jc = container_of(cgroup_css(cont, perf_subsys_id),
struct perf_cgroup, css); struct perf_cgroup, css);
free_percpu(jc->info); free_percpu(jc->info);
kfree(jc); kfree(jc);

View file

@ -6761,7 +6761,7 @@ void sched_move_task(struct task_struct *tsk)
if (unlikely(running)) if (unlikely(running))
tsk->sched_class->put_prev_task(rq, tsk); tsk->sched_class->put_prev_task(rq, tsk);
tg = container_of(task_subsys_state_check(tsk, cpu_cgroup_subsys_id, tg = container_of(task_css_check(tsk, cpu_cgroup_subsys_id,
lockdep_is_held(&tsk->sighand->siglock)), lockdep_is_held(&tsk->sighand->siglock)),
struct task_group, css); struct task_group, css);
tg = autogroup_task_group(tsk, tg); tg = autogroup_task_group(tsk, tg);
@ -7086,7 +7086,7 @@ int sched_rt_handler(struct ctl_table *table, int write,
/* return corresponding task_group object of a cgroup */ /* return corresponding task_group object of a cgroup */
static inline struct task_group *cgroup_tg(struct cgroup *cgrp) static inline struct task_group *cgroup_tg(struct cgroup *cgrp)
{ {
return container_of(cgroup_subsys_state(cgrp, cpu_cgroup_subsys_id), return container_of(cgroup_css(cgrp, cpu_cgroup_subsys_id),
struct task_group, css); struct task_group, css);
} }

View file

@ -36,14 +36,14 @@ struct cpuacct {
/* return cpu accounting group corresponding to this container */ /* return cpu accounting group corresponding to this container */
static inline struct cpuacct *cgroup_ca(struct cgroup *cgrp) static inline struct cpuacct *cgroup_ca(struct cgroup *cgrp)
{ {
return container_of(cgroup_subsys_state(cgrp, cpuacct_subsys_id), return container_of(cgroup_css(cgrp, cpuacct_subsys_id),
struct cpuacct, css); struct cpuacct, css);
} }
/* return cpu accounting group to which this task belongs */ /* return cpu accounting group to which this task belongs */
static inline struct cpuacct *task_ca(struct task_struct *tsk) static inline struct cpuacct *task_ca(struct task_struct *tsk)
{ {
return container_of(task_subsys_state(tsk, cpuacct_subsys_id), return container_of(task_css(tsk, cpuacct_subsys_id),
struct cpuacct, css); struct cpuacct, css);
} }

View file

@ -665,9 +665,9 @@ extern int group_balance_cpu(struct sched_group *sg);
/* /*
* Return the group to which this tasks belongs. * Return the group to which this tasks belongs.
* *
* We cannot use task_subsys_state() and friends because the cgroup * We cannot use task_css() and friends because the cgroup subsystem
* subsystem changes that value before the cgroup_subsys::attach() method * changes that value before the cgroup_subsys::attach() method is called,
* is called, therefore we cannot pin it and might observe the wrong value. * therefore we cannot pin it and might observe the wrong value.
* *
* The same is true for autogroup's p->signal->autogroup->tg, the autogroup * The same is true for autogroup's p->signal->autogroup->tg, the autogroup
* core changes this before calling sched_move_task(). * core changes this before calling sched_move_task().

View file

@ -42,15 +42,13 @@ struct hugetlb_cgroup *hugetlb_cgroup_from_css(struct cgroup_subsys_state *s)
static inline static inline
struct hugetlb_cgroup *hugetlb_cgroup_from_cgroup(struct cgroup *cgroup) struct hugetlb_cgroup *hugetlb_cgroup_from_cgroup(struct cgroup *cgroup)
{ {
return hugetlb_cgroup_from_css(cgroup_subsys_state(cgroup, return hugetlb_cgroup_from_css(cgroup_css(cgroup, hugetlb_subsys_id));
hugetlb_subsys_id));
} }
static inline static inline
struct hugetlb_cgroup *hugetlb_cgroup_from_task(struct task_struct *task) struct hugetlb_cgroup *hugetlb_cgroup_from_task(struct task_struct *task)
{ {
return hugetlb_cgroup_from_css(task_subsys_state(task, return hugetlb_cgroup_from_css(task_css(task, hugetlb_subsys_id));
hugetlb_subsys_id));
} }
static inline bool hugetlb_cgroup_is_root(struct hugetlb_cgroup *h_cg) static inline bool hugetlb_cgroup_is_root(struct hugetlb_cgroup *h_cg)

View file

@ -1037,8 +1037,7 @@ static void memcg_check_events(struct mem_cgroup *memcg, struct page *page)
struct mem_cgroup *mem_cgroup_from_cont(struct cgroup *cont) struct mem_cgroup *mem_cgroup_from_cont(struct cgroup *cont)
{ {
return mem_cgroup_from_css( return mem_cgroup_from_css(cgroup_css(cont, mem_cgroup_subsys_id));
cgroup_subsys_state(cont, mem_cgroup_subsys_id));
} }
struct mem_cgroup *mem_cgroup_from_task(struct task_struct *p) struct mem_cgroup *mem_cgroup_from_task(struct task_struct *p)
@ -1051,7 +1050,7 @@ struct mem_cgroup *mem_cgroup_from_task(struct task_struct *p)
if (unlikely(!p)) if (unlikely(!p))
return NULL; return NULL;
return mem_cgroup_from_css(task_subsys_state(p, mem_cgroup_subsys_id)); return mem_cgroup_from_css(task_css(p, mem_cgroup_subsys_id));
} }
struct mem_cgroup *try_get_mem_cgroup_from_mm(struct mm_struct *mm) struct mem_cgroup *try_get_mem_cgroup_from_mm(struct mm_struct *mm)

View file

@ -76,7 +76,7 @@ static struct vmpressure *work_to_vmpressure(struct work_struct *work)
static struct vmpressure *cg_to_vmpressure(struct cgroup *cg) static struct vmpressure *cg_to_vmpressure(struct cgroup *cg)
{ {
return css_to_vmpressure(cgroup_subsys_state(cg, mem_cgroup_subsys_id)); return css_to_vmpressure(cgroup_css(cg, mem_cgroup_subsys_id));
} }
static struct vmpressure *vmpressure_parent(struct vmpressure *vmpr) static struct vmpressure *vmpressure_parent(struct vmpressure *vmpr)

View file

@ -31,7 +31,7 @@
static inline struct cgroup_netprio_state *cgrp_netprio_state(struct cgroup *cgrp) static inline struct cgroup_netprio_state *cgrp_netprio_state(struct cgroup *cgrp)
{ {
return container_of(cgroup_subsys_state(cgrp, net_prio_subsys_id), return container_of(cgroup_css(cgrp, net_prio_subsys_id),
struct cgroup_netprio_state, css); struct cgroup_netprio_state, css);
} }

View file

@ -25,13 +25,13 @@
static inline struct cgroup_cls_state *cgrp_cls_state(struct cgroup *cgrp) static inline struct cgroup_cls_state *cgrp_cls_state(struct cgroup *cgrp)
{ {
return container_of(cgroup_subsys_state(cgrp, net_cls_subsys_id), return container_of(cgroup_css(cgrp, net_cls_subsys_id),
struct cgroup_cls_state, css); struct cgroup_cls_state, css);
} }
static inline struct cgroup_cls_state *task_cls_state(struct task_struct *p) static inline struct cgroup_cls_state *task_cls_state(struct task_struct *p)
{ {
return container_of(task_subsys_state(p, net_cls_subsys_id), return container_of(task_css(p, net_cls_subsys_id),
struct cgroup_cls_state, css); struct cgroup_cls_state, css);
} }

View file

@ -58,12 +58,12 @@ static inline struct dev_cgroup *css_to_devcgroup(struct cgroup_subsys_state *s)
static inline struct dev_cgroup *cgroup_to_devcgroup(struct cgroup *cgroup) static inline struct dev_cgroup *cgroup_to_devcgroup(struct cgroup *cgroup)
{ {
return css_to_devcgroup(cgroup_subsys_state(cgroup, devices_subsys_id)); return css_to_devcgroup(cgroup_css(cgroup, devices_subsys_id));
} }
static inline struct dev_cgroup *task_devcgroup(struct task_struct *task) static inline struct dev_cgroup *task_devcgroup(struct task_struct *task)
{ {
return css_to_devcgroup(task_subsys_state(task, devices_subsys_id)); return css_to_devcgroup(task_css(task, devices_subsys_id));
} }
struct cgroup_subsys devices_subsys; struct cgroup_subsys devices_subsys;