Loading init/main.c +41 −36 Original line number Diff line number Diff line Loading @@ -693,30 +693,25 @@ static int __init initcall_debug_setup(char *str) } __setup("initcall_debug", initcall_debug_setup); extern initcall_t __initcall_start[], __initcall_end[]; static void __init do_initcalls(void) static void __init do_one_initcall(initcall_t fn) { initcall_t *call; int count = preempt_count(); for (call = __initcall_start; call < __initcall_end; call++) { ktime_t t0, t1, delta; char msgbuf[40]; int result; if (initcall_debug) { print_fn_descriptor_symbol("calling %s\n", *call); print_fn_descriptor_symbol("calling %s\n", fn); t0 = ktime_get(); } result = (*call)(); result = fn(); if (initcall_debug) { t1 = ktime_get(); delta = ktime_sub(t1, t0); print_fn_descriptor_symbol("initcall %s", *call); print_fn_descriptor_symbol("initcall %s", fn); printk(" returned %d after %Ld msecs\n", result, (unsigned long long) delta.tv64 >> 20); } Loading @@ -735,11 +730,21 @@ static void __init do_initcalls(void) local_irq_enable(); } if (msgbuf[0]) { print_fn_descriptor_symbol(KERN_WARNING "initcall %s", *call); print_fn_descriptor_symbol(KERN_WARNING "initcall %s", fn); printk(" returned with %s\n", msgbuf); } } extern initcall_t __initcall_start[], __initcall_end[]; static void __init do_initcalls(void) { initcall_t *call; for (call = __initcall_start; call < __initcall_end; call++) do_one_initcall(*call); /* Make sure there is no pending stuff from the initcall sequence */ flush_scheduled_work(); } Loading Loading
init/main.c +41 −36 Original line number Diff line number Diff line Loading @@ -693,30 +693,25 @@ static int __init initcall_debug_setup(char *str) } __setup("initcall_debug", initcall_debug_setup); extern initcall_t __initcall_start[], __initcall_end[]; static void __init do_initcalls(void) static void __init do_one_initcall(initcall_t fn) { initcall_t *call; int count = preempt_count(); for (call = __initcall_start; call < __initcall_end; call++) { ktime_t t0, t1, delta; char msgbuf[40]; int result; if (initcall_debug) { print_fn_descriptor_symbol("calling %s\n", *call); print_fn_descriptor_symbol("calling %s\n", fn); t0 = ktime_get(); } result = (*call)(); result = fn(); if (initcall_debug) { t1 = ktime_get(); delta = ktime_sub(t1, t0); print_fn_descriptor_symbol("initcall %s", *call); print_fn_descriptor_symbol("initcall %s", fn); printk(" returned %d after %Ld msecs\n", result, (unsigned long long) delta.tv64 >> 20); } Loading @@ -735,11 +730,21 @@ static void __init do_initcalls(void) local_irq_enable(); } if (msgbuf[0]) { print_fn_descriptor_symbol(KERN_WARNING "initcall %s", *call); print_fn_descriptor_symbol(KERN_WARNING "initcall %s", fn); printk(" returned with %s\n", msgbuf); } } extern initcall_t __initcall_start[], __initcall_end[]; static void __init do_initcalls(void) { initcall_t *call; for (call = __initcall_start; call < __initcall_end; call++) do_one_initcall(*call); /* Make sure there is no pending stuff from the initcall sequence */ flush_scheduled_work(); } Loading