diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2008-10-13 17:50:08 -0400 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2008-10-21 19:00:25 -0400 |
commit | a802dd0eb5fc97a50cf1abb1f788a8f6cc5db635 (patch) | |
tree | 103d3ee6fe2367e40f78e10838653b1f588f0677 /init/main.c | |
parent | f44dd164f37336f7e17fabf5740698fd10635172 (diff) |
Call init_workqueues before pre smp initcalls.
This allows to create workqueues from within the context of
a pre smp initcall (aka early_initcall).
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'init/main.c')
-rw-r--r-- | init/main.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/init/main.c b/init/main.c index 3d68aaaf6160..6c7fd137c8cd 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -767,8 +767,6 @@ static void __init do_initcalls(void) | |||
767 | static void __init do_basic_setup(void) | 767 | static void __init do_basic_setup(void) |
768 | { | 768 | { |
769 | rcu_init_sched(); /* needed by module_init stage. */ | 769 | rcu_init_sched(); /* needed by module_init stage. */ |
770 | /* drivers will send hotplug events */ | ||
771 | init_workqueues(); | ||
772 | usermodehelper_init(); | 770 | usermodehelper_init(); |
773 | driver_init(); | 771 | driver_init(); |
774 | init_irq_proc(); | 772 | init_irq_proc(); |
@@ -852,6 +850,8 @@ static int __init kernel_init(void * unused) | |||
852 | 850 | ||
853 | cad_pid = task_pid(current); | 851 | cad_pid = task_pid(current); |
854 | 852 | ||
853 | init_workqueues(); | ||
854 | |||
855 | smp_prepare_cpus(setup_max_cpus); | 855 | smp_prepare_cpus(setup_max_cpus); |
856 | 856 | ||
857 | do_pre_smp_initcalls(); | 857 | do_pre_smp_initcalls(); |