|
@@ -457,6 +457,12 @@ static inline bool cgroup_sane_behavior(const struct cgroup *cgrp)
|
|
|
return cgrp->root->flags & CGRP_ROOT_SANE_BEHAVIOR;
|
|
|
}
|
|
|
|
|
|
+/* no synchronization, the result can only be used as a hint */
|
|
|
+static inline bool cgroup_has_tasks(struct cgroup *cgrp)
|
|
|
+{
|
|
|
+ return !list_empty(&cgrp->cset_links);
|
|
|
+}
|
|
|
+
|
|
|
/* returns ino associated with a cgroup, 0 indicates unmounted root */
|
|
|
static inline ino_t cgroup_ino(struct cgroup *cgrp)
|
|
|
{
|
|
@@ -516,8 +522,6 @@ int cgroup_rm_cftypes(struct cftype *cfts);
|
|
|
|
|
|
bool cgroup_is_descendant(struct cgroup *cgrp, struct cgroup *ancestor);
|
|
|
|
|
|
-int cgroup_task_count(const struct cgroup *cgrp);
|
|
|
-
|
|
|
/*
|
|
|
* Control Group taskset, used to pass around set of tasks to cgroup_subsys
|
|
|
* methods.
|