aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTal Shorer <tal.shorer@gmail.com>2017-11-03 11:27:49 -0400
committerTejun Heo <tj@kernel.org>2017-11-27 11:56:57 -0500
commit7d229c668a114e80d6be62b00e21a73bdd9ba7b3 (patch)
treed1b9bb3f661e7d8c53fc6491b29f5ad4bfdd4977
parent4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323 (diff)
main: kernel_start: move housekeeping_init() before workqueue_init_early()
This is needed in order to allow the unbound workqueue to take housekeeping cpus into accounty Signed-off-by: Tal Shorer <tal.shorer@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org>
-rw-r--r--init/main.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/init/main.c b/init/main.c
index dfec3809e740..e96e3a14533c 100644
--- a/init/main.c
+++ b/init/main.c
@@ -589,6 +589,12 @@ asmlinkage __visible void __init start_kernel(void)
589 radix_tree_init(); 589 radix_tree_init();
590 590
591 /* 591 /*
592 * Set up housekeeping before setting up workqueues to allow the unbound
593 * workqueue to take non-housekeeping into account.
594 */
595 housekeeping_init();
596
597 /*
592 * Allow workqueue creation and work item queueing/cancelling 598 * Allow workqueue creation and work item queueing/cancelling
593 * early. Work item execution depends on kthreads and starts after 599 * early. Work item execution depends on kthreads and starts after
594 * workqueue_init(). 600 * workqueue_init().
@@ -605,7 +611,6 @@ asmlinkage __visible void __init start_kernel(void)
605 early_irq_init(); 611 early_irq_init();
606 init_IRQ(); 612 init_IRQ();
607 tick_init(); 613 tick_init();
608 housekeeping_init();
609 rcu_init_nohz(); 614 rcu_init_nohz();
610 init_timers(); 615 init_timers();
611 hrtimers_init(); 616 hrtimers_init();