X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=init%2Fmain.c;h=3585f073d636453a0c98d5efdf44f0a26568dd02;hb=d8312204768861d77ec868265b2c1a36a1bf078f;hp=d6b388fbffa679bdb8cce29ddfd9042ca2841032;hpb=5123bc35d2bd2e5c344a53e634edec2cd0861a0e;p=~andy%2Flinux diff --git a/init/main.c b/init/main.c index d6b388fbffa..3585f073d63 100644 --- a/init/main.c +++ b/init/main.c @@ -71,6 +71,7 @@ #include #include #include +#include #ifdef CONFIG_X86_LOCAL_APIC #include @@ -648,6 +649,7 @@ asmlinkage void __init start_kernel(void) enable_debug_pagealloc(); cpu_hotplug_init(); kmem_cache_init(); + kmemtrace_init(); debug_objects_mem_init(); idr_init_cache(); setup_per_cpu_pageset(); @@ -769,6 +771,7 @@ static void __init do_basic_setup(void) { rcu_init_sched(); /* needed by module_init stage. */ init_workqueues(); + cpuset_init_smp(); usermodehelper_init(); driver_init(); init_irq_proc(); @@ -793,6 +796,7 @@ static void run_init_process(char *init_filename) * makes it inline to init() and it becomes part of init.text section */ static noinline int init_post(void) + __releases(kernel_lock) { /* need to finish all async __init code before freeing the memory */ async_synchronize_full(); @@ -862,8 +866,6 @@ static int __init kernel_init(void * unused) smp_init(); sched_init_smp(); - cpuset_init_smp(); - do_basic_setup(); /*