cgroup: short-circuit cset_cgroup_from_root() on the default hierarchy
authorTejun Heo <tj@kernel.org>
Wed, 2 Aug 2017 22:39:38 +0000 (15:39 -0700)
committerTejun Heo <tj@kernel.org>
Wed, 2 Aug 2017 22:39:38 +0000 (15:39 -0700)
Each css_set directly points to the default cgroup it belongs to, so
there's no reason to walk the cgrp_links list on the default
hierarchy.

Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/cgroup/cgroup.c

index 92e5997..f5ca55d 100644 (file)
@@ -1311,6 +1311,8 @@ static struct cgroup *cset_cgroup_from_root(struct css_set *cset,
 
        if (cset == &init_css_set) {
                res = &root->cgrp;
+       } else if (root == &cgrp_dfl_root) {
+               res = cset->dfl_cgrp;
        } else {
                struct cgrp_cset_link *link;