]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - init/main.c
mm: bdi: expose the BDI object in sysfs for NFS
[linux-2.6-omap-h63xx.git] / init / main.c
index 1687b0167c4a4c458c0b7956a106fc678813c431..dff253cfcd9fdafd4548fc8f7f4d9d4055c8732d 100644 (file)
@@ -58,6 +58,7 @@
 #include <linux/kthread.h>
 #include <linux/sched.h>
 #include <linux/signal.h>
+#include <linux/idr.h>
 
 #include <asm/io.h>
 #include <asm/bugs.h>
@@ -458,7 +459,7 @@ static void noinline __init_refok rest_init(void)
        kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND);
        numa_default_policy();
        pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES);
-       kthreadd_task = find_task_by_pid(pid);
+       kthreadd_task = find_task_by_pid_ns(pid, &init_pid_ns);
        unlock_kernel();
 
        /*
@@ -559,6 +560,7 @@ asmlinkage void __init start_kernel(void)
        printk(KERN_NOTICE);
        printk(linux_banner);
        setup_arch(&command_line);
+       mm_init_owner(&init_mm, &init_task);
        setup_command_line(command_line);
        unwind_setup();
        setup_per_cpu_areas();
@@ -636,6 +638,7 @@ asmlinkage void __init start_kernel(void)
        enable_debug_pagealloc();
        cpu_hotplug_init();
        kmem_cache_init();
+       idr_init_cache();
        setup_per_cpu_pageset();
        numa_policy_init();
        if (late_time_init)
@@ -700,10 +703,8 @@ static void __init do_initcalls(void)
                int result;
 
                if (initcall_debug) {
-                       printk("Calling initcall 0x%p", *call);
-                       print_fn_descriptor_symbol(": %s()",
+                       print_fn_descriptor_symbol("calling  %s()\n",
                                        (unsigned long) *call);
-                       printk("\n");
                        t0 = ktime_get();
                }
 
@@ -713,15 +714,10 @@ static void __init do_initcalls(void)
                        t1 = ktime_get();
                        delta = ktime_sub(t1, t0);
 
-                       printk("initcall 0x%p", *call);
-                       print_fn_descriptor_symbol(": %s()",
+                       print_fn_descriptor_symbol("initcall %s()",
                                        (unsigned long) *call);
-                       printk(" returned %d.\n", result);
-
-                       printk("initcall 0x%p ran for %Ld msecs: ",
-                               *call, (unsigned long long)delta.tv64 >> 20);
-                       print_fn_descriptor_symbol("%s()\n",
-                               (unsigned long) *call);
+                       printk(" returned %d after %Ld msecs\n", result,
+                               (unsigned long long) delta.tv64 >> 20);
                }
 
                if (result && result != -ENODEV && initcall_debug) {
@@ -737,10 +733,9 @@ static void __init do_initcalls(void)
                        local_irq_enable();
                }
                if (msg) {
-                       printk(KERN_WARNING "initcall at 0x%p", *call);
-                       print_fn_descriptor_symbol(": %s()",
+                       print_fn_descriptor_symbol(KERN_WARNING "initcall %s()",
                                        (unsigned long) *call);
-                       printk(": returned with %s\n", msg);
+                       printk(" returned with %s\n", msg);
                }
        }
 
@@ -807,6 +802,8 @@ static int noinline init_post(void)
        (void) sys_dup(0);
        (void) sys_dup(0);
 
+       current->signal->flags |= SIGNAL_UNKILLABLE;
+
        if (ramdisk_execute_command) {
                run_init_process(ramdisk_execute_command);
                printk(KERN_WARNING "Failed to execute %s\n",