projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dyn_array: split dyn_array functions from init/main.c
[deliverable/linux.git]
/
init
/
main.c
diff --git
a/init/main.c
b/init/main.c
index f6f7042331dc3ef9dbf156a807398936e0824b1a..e81cf427d9c7a43d42b93ca2a8aed3a1ab64f089 100644
(file)
--- a/
init/main.c
+++ b/
init/main.c
@@
-391,17
+391,23
@@
EXPORT_SYMBOL(__per_cpu_offset);
static void __init setup_per_cpu_areas(void)
{
static void __init setup_per_cpu_areas(void)
{
- unsigned long size, i;
+ unsigned long size, i
, old_size
;
char *ptr;
unsigned long nr_possible_cpus = num_possible_cpus();
char *ptr;
unsigned long nr_possible_cpus = num_possible_cpus();
+ unsigned long align = 1;
+ unsigned da_size;
/* Copy section for each CPU (we discard the original) */
/* Copy section for each CPU (we discard the original) */
- size = ALIGN(PERCPU_ENOUGH_ROOM, PAGE_SIZE);
+ old_size = PERCPU_ENOUGH_ROOM;
+ da_size = per_cpu_dyn_array_size(&align);
+ align = max_t(unsigned long, PAGE_SIZE, align);
+ size = ALIGN(old_size + da_size, align);
ptr = alloc_bootmem_pages(size * nr_possible_cpus);
for_each_possible_cpu(i) {
__per_cpu_offset[i] = ptr - __per_cpu_start;
memcpy(ptr, __per_cpu_start, __per_cpu_end - __per_cpu_start);
ptr = alloc_bootmem_pages(size * nr_possible_cpus);
for_each_possible_cpu(i) {
__per_cpu_offset[i] = ptr - __per_cpu_start;
memcpy(ptr, __per_cpu_start, __per_cpu_end - __per_cpu_start);
+ per_cpu_alloc_dyn_array(i, ptr + old_size);
ptr += size;
}
}
ptr += size;
}
}
@@
-567,6
+573,7
@@
asmlinkage void __init start_kernel(void)
printk(KERN_NOTICE);
printk(linux_banner);
setup_arch(&command_line);
printk(KERN_NOTICE);
printk(linux_banner);
setup_arch(&command_line);
+ pre_alloc_dyn_array();
mm_init_owner(&init_mm, &init_task);
setup_command_line(command_line);
unwind_setup();
mm_init_owner(&init_mm, &init_task);
setup_command_line(command_line);
unwind_setup();
@@
-708,7
+715,7
@@
int do_one_initcall(initcall_t fn)
int result;
if (initcall_debug) {
int result;
if (initcall_debug) {
- print
_fn_descriptor_symbol("calling %s\n", fn
);
+ print
k("calling %pF @ %i\n", fn, task_pid_nr(current)
);
t0 = ktime_get();
}
t0 = ktime_get();
}
@@
-718,8
+725,8
@@
int do_one_initcall(initcall_t fn)
t1 = ktime_get();
delta = ktime_sub(t1, t0);
t1 = ktime_get();
delta = ktime_sub(t1, t0);
- print
_fn_descriptor_symbol("initcall %s", fn);
-
printk(" returned %d after %Ld msecs\n"
, result,
+ print
k("initcall %pF returned %d after %Ld msecs\n",
+
fn
, result,
(unsigned long long) delta.tv64 >> 20);
}
(unsigned long long) delta.tv64 >> 20);
}
@@
-737,8
+744,7
@@
int do_one_initcall(initcall_t fn)
local_irq_enable();
}
if (msgbuf[0]) {
local_irq_enable();
}
if (msgbuf[0]) {
- print_fn_descriptor_symbol(KERN_WARNING "initcall %s", fn);
- printk(" returned with %s\n", msgbuf);
+ printk("initcall %pF returned with %s\n", fn, msgbuf);
}
return result;
}
return result;
This page took
0.024008 seconds
and
5
git commands to generate.