Commit 4403b406d4369a275d483ece6ddee0088cc0d592
1 parent
e013e13bf6
Exists in
master
and in
7 other branches
Revert "Call init_workqueues before pre smp initcalls."
This reverts commit a802dd0eb5fc97a50cf1abb1f788a8f6cc5db635 by moving the call to init_workqueues() back where it belongs - after SMP has been initialized. It also moves stop_machine_init() - which needs workqueues - to a later phase using a core_initcall() instead of early_initcall(). That should satisfy all ordering requirements, and was apparently the reason why init_workqueues() was moved to be too early. Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 2 changed files with 2 additions and 3 deletions Side-by-side Diff
init/main.c
... | ... | @@ -768,6 +768,7 @@ |
768 | 768 | static void __init do_basic_setup(void) |
769 | 769 | { |
770 | 770 | rcu_init_sched(); /* needed by module_init stage. */ |
771 | + init_workqueues(); | |
771 | 772 | usermodehelper_init(); |
772 | 773 | driver_init(); |
773 | 774 | init_irq_proc(); |
... | ... | @@ -850,8 +851,6 @@ |
850 | 851 | init_pid_ns.child_reaper = current; |
851 | 852 | |
852 | 853 | cad_pid = task_pid(current); |
853 | - | |
854 | - init_workqueues(); | |
855 | 854 | |
856 | 855 | smp_prepare_cpus(setup_max_cpus); |
857 | 856 |
kernel/stop_machine.c