aboutsummaryrefslogtreecommitdiffstats
path: root/init/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'init/main.c')
-rw-r--r--init/main.c23
1 files changed, 9 insertions, 14 deletions
diff --git a/init/main.c b/init/main.c
index 1687b0167c4a..624266b524d4 100644
--- a/init/main.c
+++ b/init/main.c
@@ -58,6 +58,7 @@
58#include <linux/kthread.h> 58#include <linux/kthread.h>
59#include <linux/sched.h> 59#include <linux/sched.h>
60#include <linux/signal.h> 60#include <linux/signal.h>
61#include <linux/idr.h>
61 62
62#include <asm/io.h> 63#include <asm/io.h>
63#include <asm/bugs.h> 64#include <asm/bugs.h>
@@ -559,6 +560,7 @@ asmlinkage void __init start_kernel(void)
559 printk(KERN_NOTICE); 560 printk(KERN_NOTICE);
560 printk(linux_banner); 561 printk(linux_banner);
561 setup_arch(&command_line); 562 setup_arch(&command_line);
563 mm_init_owner(&init_mm, &init_task);
562 setup_command_line(command_line); 564 setup_command_line(command_line);
563 unwind_setup(); 565 unwind_setup();
564 setup_per_cpu_areas(); 566 setup_per_cpu_areas();
@@ -636,6 +638,7 @@ asmlinkage void __init start_kernel(void)
636 enable_debug_pagealloc(); 638 enable_debug_pagealloc();
637 cpu_hotplug_init(); 639 cpu_hotplug_init();
638 kmem_cache_init(); 640 kmem_cache_init();
641 idr_init_cache();
639 setup_per_cpu_pageset(); 642 setup_per_cpu_pageset();
640 numa_policy_init(); 643 numa_policy_init();
641 if (late_time_init) 644 if (late_time_init)
@@ -700,10 +703,8 @@ static void __init do_initcalls(void)
700 int result; 703 int result;
701 704
702 if (initcall_debug) { 705 if (initcall_debug) {
703 printk("Calling initcall 0x%p", *call); 706 print_fn_descriptor_symbol("calling %s()\n",
704 print_fn_descriptor_symbol(": %s()",
705 (unsigned long) *call); 707 (unsigned long) *call);
706 printk("\n");
707 t0 = ktime_get(); 708 t0 = ktime_get();
708 } 709 }
709 710
@@ -713,15 +714,10 @@ static void __init do_initcalls(void)
713 t1 = ktime_get(); 714 t1 = ktime_get();
714 delta = ktime_sub(t1, t0); 715 delta = ktime_sub(t1, t0);
715 716
716 printk("initcall 0x%p", *call); 717 print_fn_descriptor_symbol("initcall %s()",
717 print_fn_descriptor_symbol(": %s()",
718 (unsigned long) *call); 718 (unsigned long) *call);
719 printk(" returned %d.\n", result); 719 printk(" returned %d after %Ld msecs\n", result,
720 720 (unsigned long long) delta.tv64 >> 20);
721 printk("initcall 0x%p ran for %Ld msecs: ",
722 *call, (unsigned long long)delta.tv64 >> 20);
723 print_fn_descriptor_symbol("%s()\n",
724 (unsigned long) *call);
725 } 721 }
726 722
727 if (result && result != -ENODEV && initcall_debug) { 723 if (result && result != -ENODEV && initcall_debug) {
@@ -737,10 +733,9 @@ static void __init do_initcalls(void)
737 local_irq_enable(); 733 local_irq_enable();
738 } 734 }
739 if (msg) { 735 if (msg) {
740 printk(KERN_WARNING "initcall at 0x%p", *call); 736 print_fn_descriptor_symbol(KERN_WARNING "initcall %s()",
741 print_fn_descriptor_symbol(": %s()",
742 (unsigned long) *call); 737 (unsigned long) *call);
743 printk(": returned with %s\n", msg); 738 printk(" returned with %s\n", msg);
744 } 739 }
745 } 740 }
746 741