Messages in this thread Patch in this message | | | Date | Sat, 25 Oct 2008 15:56:38 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [PULL] module, param and stop_machine patches |
| |
On Sat, 25 Oct 2008, Linus Torvalds wrote: > > Is there any reason why the real patch isn't just to make > 'stop_machine_init' a 'core_initcall()' instead of 'early_initcall()'?
IOW, something like this (untested)
Linus
--- init/main.c | 3 +-- kernel/stop_machine.c | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/init/main.c b/init/main.c index 130d1a0..7e117a2 100644 --- a/init/main.c +++ b/init/main.c @@ -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(); diff --git a/kernel/stop_machine.c b/kernel/stop_machine.c index 8aff79d..9bc4c00 100644 --- a/kernel/stop_machine.c +++ b/kernel/stop_machine.c @@ -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);
| |