summaryrefslogtreecommitdiff
path: root/kernel/cgroup.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2013-06-25 11:53:37 -0700
committerTejun Heo <tj@kernel.org>2013-06-25 11:53:37 -0700
commit82fe9b0da0d50e2795a49c268676fd132cbc3eea (patch)
tree5a8bce47e8612886a71f680826cfbcba731a0ba3 /kernel/cgroup.c
parent5549c497913ad860d3dff4386c6423268bb85693 (diff)
cgroup: move init_css_set initialization inside cgroup_mutex
cgroup_init() was doing init_css_set initialization outside cgroup_mutex, which is fine but we want to add lockdep annotation on subsystem iterations and cgroup_init() will trigger it spuriously. Move init_css_set initialization inside cgroup_mutex. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Li Zefan <lizefan@huawei.com>
Diffstat (limited to 'kernel/cgroup.c')
-rw-r--r--kernel/cgroup.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 605cb13a1574..3409698bd9fd 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -4888,14 +4888,14 @@ int __init cgroup_init(void)
cgroup_init_idr(ss, init_css_set.subsys[ss->subsys_id]);
}
- /* Add init_css_set to the hash table */
- key = css_set_hash(init_css_set.subsys);
- hash_add(css_set_table, &init_css_set.hlist, key);
-
/* allocate id for the dummy hierarchy */
mutex_lock(&cgroup_mutex);
mutex_lock(&cgroup_root_mutex);
+ /* Add init_css_set to the hash table */
+ key = css_set_hash(init_css_set.subsys);
+ hash_add(css_set_table, &init_css_set.hlist, key);
+
BUG_ON(cgroup_init_root_id(&cgroup_dummy_root));
mutex_unlock(&cgroup_root_mutex);