diff options
Diffstat (limited to 'kernel/cgroup.c')
-rw-r--r-- | kernel/cgroup.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/kernel/cgroup.c b/kernel/cgroup.c index 52719ce55dd3..68d87103b493 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c | |||
@@ -4844,16 +4844,12 @@ static int __init cgroup_wq_init(void) | |||
4844 | /* | 4844 | /* |
4845 | * There isn't much point in executing destruction path in | 4845 | * There isn't much point in executing destruction path in |
4846 | * parallel. Good chunk is serialized with cgroup_mutex anyway. | 4846 | * parallel. Good chunk is serialized with cgroup_mutex anyway. |
4847 | * | 4847 | * Use 1 for @max_active. |
4848 | * XXX: Must be ordered to make sure parent is offlined after | ||
4849 | * children. The ordering requirement is for memcg where a | ||
4850 | * parent's offline may wait for a child's leading to deadlock. In | ||
4851 | * the long term, this should be fixed from memcg side. | ||
4852 | * | 4848 | * |
4853 | * We would prefer to do this in cgroup_init() above, but that | 4849 | * We would prefer to do this in cgroup_init() above, but that |
4854 | * is called before init_workqueues(): so leave this until after. | 4850 | * is called before init_workqueues(): so leave this until after. |
4855 | */ | 4851 | */ |
4856 | cgroup_destroy_wq = alloc_ordered_workqueue("cgroup_destroy", 0); | 4852 | cgroup_destroy_wq = alloc_workqueue("cgroup_destroy", 0, 1); |
4857 | BUG_ON(!cgroup_destroy_wq); | 4853 | BUG_ON(!cgroup_destroy_wq); |
4858 | 4854 | ||
4859 | /* | 4855 | /* |