diff options
Diffstat (limited to 'init/main.c')
-rw-r--r-- | init/main.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/init/main.c b/init/main.c index 2f9544d8435a..63904bb6ae37 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -427,6 +427,7 @@ static noinline void __init_refok rest_init(void) | |||
427 | { | 427 | { |
428 | int pid; | 428 | int pid; |
429 | 429 | ||
430 | rcu_scheduler_starting(); | ||
430 | kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND); | 431 | kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND); |
431 | numa_default_policy(); | 432 | numa_default_policy(); |
432 | pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES); | 433 | pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES); |
@@ -438,7 +439,6 @@ static noinline void __init_refok rest_init(void) | |||
438 | * at least once to get things moving: | 439 | * at least once to get things moving: |
439 | */ | 440 | */ |
440 | init_idle_bootup_task(current); | 441 | init_idle_bootup_task(current); |
441 | rcu_scheduler_starting(); | ||
442 | preempt_enable_no_resched(); | 442 | preempt_enable_no_resched(); |
443 | schedule(); | 443 | schedule(); |
444 | preempt_disable(); | 444 | preempt_disable(); |
@@ -607,7 +607,6 @@ asmlinkage void __init start_kernel(void) | |||
607 | softirq_init(); | 607 | softirq_init(); |
608 | timekeeping_init(); | 608 | timekeeping_init(); |
609 | time_init(); | 609 | time_init(); |
610 | sched_clock_init(); | ||
611 | profile_init(); | 610 | profile_init(); |
612 | if (!irqs_disabled()) | 611 | if (!irqs_disabled()) |
613 | printk(KERN_CRIT "start_kernel(): bug: interrupts were " | 612 | printk(KERN_CRIT "start_kernel(): bug: interrupts were " |
@@ -658,6 +657,7 @@ asmlinkage void __init start_kernel(void) | |||
658 | numa_policy_init(); | 657 | numa_policy_init(); |
659 | if (late_time_init) | 658 | if (late_time_init) |
660 | late_time_init(); | 659 | late_time_init(); |
660 | sched_clock_init(); | ||
661 | calibrate_delay(); | 661 | calibrate_delay(); |
662 | pidmap_init(); | 662 | pidmap_init(); |
663 | anon_vma_init(); | 663 | anon_vma_init(); |
@@ -709,13 +709,14 @@ static void __init do_ctors(void) | |||
709 | int initcall_debug; | 709 | int initcall_debug; |
710 | core_param(initcall_debug, initcall_debug, bool, 0644); | 710 | core_param(initcall_debug, initcall_debug, bool, 0644); |
711 | 711 | ||
712 | static char msgbuf[64]; | ||
713 | static struct boot_trace_call call; | ||
714 | static struct boot_trace_ret ret; | ||
715 | |||
712 | int do_one_initcall(initcall_t fn) | 716 | int do_one_initcall(initcall_t fn) |
713 | { | 717 | { |
714 | int count = preempt_count(); | 718 | int count = preempt_count(); |
715 | ktime_t calltime, delta, rettime; | 719 | ktime_t calltime, delta, rettime; |
716 | char msgbuf[64]; | ||
717 | struct boot_trace_call call; | ||
718 | struct boot_trace_ret ret; | ||
719 | 720 | ||
720 | if (initcall_debug) { | 721 | if (initcall_debug) { |
721 | call.caller = task_pid_nr(current); | 722 | call.caller = task_pid_nr(current); |