|
@@ -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();
|