aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2008-10-13 17:50:08 -0400
committerRusty Russell <rusty@rustcorp.com.au>2008-10-21 19:00:25 -0400
commita802dd0eb5fc97a50cf1abb1f788a8f6cc5db635 (patch)
tree103d3ee6fe2367e40f78e10838653b1f588f0677 /init
parentf44dd164f37336f7e17fabf5740698fd10635172 (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')
-rw-r--r--init/main.c4
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)
767static void __init do_basic_setup(void) 767static 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();