Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4403b406 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Revert "Call init_workqueues before pre smp initcalls."



This reverts commit a802dd0e 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: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent e013e13b
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -768,6 +768,7 @@ static void __init do_initcalls(void)
static void __init do_basic_setup(void)
{
	rcu_init_sched(); /* needed by module_init stage. */
	init_workqueues();
	usermodehelper_init();
	driver_init();
	init_irq_proc();
@@ -851,8 +852,6 @@ static int __init kernel_init(void * unused)

	cad_pid = task_pid(current);

	init_workqueues();

	smp_prepare_cpus(setup_max_cpus);

	do_pre_smp_initcalls();
+1 −1
Original line number Diff line number Diff line
@@ -160,4 +160,4 @@ static int __init stop_machine_init(void)
	stop_machine_work = alloc_percpu(struct work_struct);
	return 0;
}
early_initcall(stop_machine_init);
core_initcall(stop_machine_init);