git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge commit 'v2.6.30-rc6' into perfcounters/core
[safe/jmp/linux-2.6]
/
init
/
main.c
diff --git
a/init/main.c
b/init/main.c
index
6bf83af
..
3bbf93b
100644
(file)
--- a/
init/main.c
+++ b/
init/main.c
@@
-71,6
+71,7
@@
#include <asm/setup.h>
#include <asm/sections.h>
#include <asm/cacheflush.h>
#include <asm/setup.h>
#include <asm/sections.h>
#include <asm/cacheflush.h>
+#include <trace/kmemtrace.h>
#ifdef CONFIG_X86_LOCAL_APIC
#include <asm/smp.h>
#ifdef CONFIG_X86_LOCAL_APIC
#include <asm/smp.h>
@@
-407,8
+408,7
@@
static void __init smp_init(void)
* Set up the current CPU as possible to migrate to.
* The other ones will be done by cpu_up/cpu_down()
*/
* Set up the current CPU as possible to migrate to.
* The other ones will be done by cpu_up/cpu_down()
*/
- cpu = smp_processor_id();
- cpu_set(cpu, cpu_active_map);
+ set_cpu_active(smp_processor_id(), true);
/* FIXME: This should be done in userspace --RR */
for_each_present_cpu(cpu) {
/* FIXME: This should be done in userspace --RR */
for_each_present_cpu(cpu) {
@@
-492,6
+492,11
@@
static int __init do_early_param(char *param, char *val)
return 0;
}
return 0;
}
+void __init parse_early_options(char *cmdline)
+{
+ parse_args("early options", cmdline, NULL, 0, do_early_param);
+}
+
/* Arch code calls this early on, or if not, just before other parsing. */
void __init parse_early_param(void)
{
/* Arch code calls this early on, or if not, just before other parsing. */
void __init parse_early_param(void)
{
@@
-503,7
+508,7
@@
void __init parse_early_param(void)
/* All fall through to do_early_param. */
strlcpy(tmp_cmdline, boot_command_line, COMMAND_LINE_SIZE);
/* All fall through to do_early_param. */
strlcpy(tmp_cmdline, boot_command_line, COMMAND_LINE_SIZE);
- parse_
args("early options", tmp_cmdline, NULL, 0, do_early_param
);
+ parse_
early_options(tmp_cmdline
);
done = 1;
}
done = 1;
}
@@
-649,6
+654,7
@@
asmlinkage void __init start_kernel(void)
enable_debug_pagealloc();
cpu_hotplug_init();
kmem_cache_init();
enable_debug_pagealloc();
cpu_hotplug_init();
kmem_cache_init();
+ kmemtrace_init();
debug_objects_mem_init();
idr_init_cache();
setup_per_cpu_pageset();
debug_objects_mem_init();
idr_init_cache();
setup_per_cpu_pageset();
@@
-770,6
+776,7
@@
static void __init do_basic_setup(void)
{
rcu_init_sched(); /* needed by module_init stage. */
init_workqueues();
{
rcu_init_sched(); /* needed by module_init stage. */
init_workqueues();
+ cpuset_init_smp();
usermodehelper_init();
driver_init();
init_irq_proc();
usermodehelper_init();
driver_init();
init_irq_proc();
@@
-794,6
+801,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)
* 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();
{
/* need to finish all async __init code before freeing the memory */
async_synchronize_full();
@@
-842,7
+850,7
@@
static int __init kernel_init(void * unused)
/*
* init can run on any cpu.
*/
/*
* init can run on any cpu.
*/
- set_cpus_allowed_ptr(current,
CPU_MASK_ALL_PTR
);
+ set_cpus_allowed_ptr(current,
cpu_all_mask
);
/*
* Tell the world that we're going to be the grim
* reaper of innocent orphaned children.
/*
* Tell the world that we're going to be the grim
* reaper of innocent orphaned children.
@@
-863,8
+871,6
@@
static int __init kernel_init(void * unused)
smp_init();
sched_init_smp();
smp_init();
sched_init_smp();
- cpuset_init_smp();
-
do_basic_setup();
/*
do_basic_setup();
/*