Skip to content

Commit

Permalink
main: kernel_start: move housekeeping_init() before workqueue_init_ea…
Browse files Browse the repository at this point in the history
…rly()

This is needed in order to allow the unbound workqueue to take
housekeeping cpus into accounty

Signed-off-by: Tal Shorer <[email protected]>
Signed-off-by: Tejun Heo <[email protected]>
  • Loading branch information
talshorer authored and htejun committed Nov 27, 2017
1 parent 4fbd8d1 commit 7d229c6
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion init/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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();
Expand Down

0 comments on commit 7d229c6

Please sign in to comment.