]> git.karo-electronics.de Git - linux-beck.git/commitdiff
cgroup: move init_css_set initialization inside cgroup_mutex
authorTejun Heo <tj@kernel.org>
Tue, 25 Jun 2013 18:53:37 +0000 (11:53 -0700)
committerTejun Heo <tj@kernel.org>
Tue, 25 Jun 2013 18:53:37 +0000 (11:53 -0700)
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>
kernel/cgroup.c

index 605cb13a1574a41a207a329afdbd6c8538d6f38f..3409698bd9fd01efba3e62c6c2799da744de788b 100644 (file)
@@ -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);