cgroup: relocate cgroup_advance_iter()
For some reason, cgroup_advance_iter() is standing lonely all away from its iter comrades. Relocate it. This is cosmetic. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Li Zefan <lizefan@huawei.com>
This commit is contained in:
parent
492eb21b98
commit
d515876e9d
1 changed files with 24 additions and 24 deletions
|
@ -2981,30 +2981,6 @@ int cgroup_task_count(const struct cgroup *cgrp)
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Advance a list_head iterator. The iterator should be positioned at
|
|
||||||
* the start of a css_set
|
|
||||||
*/
|
|
||||||
static void cgroup_advance_iter(struct cgroup *cgrp, struct cgroup_iter *it)
|
|
||||||
{
|
|
||||||
struct list_head *l = it->cset_link;
|
|
||||||
struct cgrp_cset_link *link;
|
|
||||||
struct css_set *cset;
|
|
||||||
|
|
||||||
/* Advance to the next non-empty css_set */
|
|
||||||
do {
|
|
||||||
l = l->next;
|
|
||||||
if (l == &cgrp->cset_links) {
|
|
||||||
it->cset_link = NULL;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
link = list_entry(l, struct cgrp_cset_link, cset_link);
|
|
||||||
cset = link->cset;
|
|
||||||
} while (list_empty(&cset->tasks));
|
|
||||||
it->cset_link = l;
|
|
||||||
it->task = cset->tasks.next;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* To reduce the fork() overhead for systems that are not actually
|
* To reduce the fork() overhead for systems that are not actually
|
||||||
* using their cgroups capability, we don't maintain the lists running
|
* using their cgroups capability, we don't maintain the lists running
|
||||||
|
@ -3223,6 +3199,30 @@ css_next_descendant_post(struct cgroup_subsys_state *pos,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(css_next_descendant_post);
|
EXPORT_SYMBOL_GPL(css_next_descendant_post);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Advance a list_head iterator. The iterator should be positioned at
|
||||||
|
* the start of a css_set
|
||||||
|
*/
|
||||||
|
static void cgroup_advance_iter(struct cgroup *cgrp, struct cgroup_iter *it)
|
||||||
|
{
|
||||||
|
struct list_head *l = it->cset_link;
|
||||||
|
struct cgrp_cset_link *link;
|
||||||
|
struct css_set *cset;
|
||||||
|
|
||||||
|
/* Advance to the next non-empty css_set */
|
||||||
|
do {
|
||||||
|
l = l->next;
|
||||||
|
if (l == &cgrp->cset_links) {
|
||||||
|
it->cset_link = NULL;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
link = list_entry(l, struct cgrp_cset_link, cset_link);
|
||||||
|
cset = link->cset;
|
||||||
|
} while (list_empty(&cset->tasks));
|
||||||
|
it->cset_link = l;
|
||||||
|
it->task = cset->tasks.next;
|
||||||
|
}
|
||||||
|
|
||||||
void cgroup_iter_start(struct cgroup *cgrp, struct cgroup_iter *it)
|
void cgroup_iter_start(struct cgroup *cgrp, struct cgroup_iter *it)
|
||||||
__acquires(css_set_lock)
|
__acquires(css_set_lock)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue