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>
This commit is contained in:
Tal Shorer 2017-11-03 17:27:49 +02:00 committed by Tejun Heo
parent 4fbd8d194f
commit 7d229c668a
1 changed files with 6 additions and 1 deletions

View File

@ -588,6 +588,12 @@ asmlinkage __visible void __init start_kernel(void)
local_irq_disable();
radix_tree_init();
/*
* Set up housekeeping before setting up workqueues to allow the unbound
* workqueue to take non-housekeeping into account.
*/
housekeeping_init();
/*
* Allow workqueue creation and work item queueing/cancelling
* early. Work item execution depends on kthreads and starts after
@ -605,7 +611,6 @@ asmlinkage __visible void __init start_kernel(void)
early_irq_init();
init_IRQ();
tick_init();
housekeeping_init();
rcu_init_nohz();
init_timers();
hrtimers_init();