54 lines
1.7 KiB
Diff
54 lines
1.7 KiB
Diff
From 50b6962016b824dfac254b8f36fc6cac301c8a8d Mon Sep 17 00:00:00 2001
|
|
From: Arjan van de Ven <arjan@linux.intel.com>
|
|
Date: Sun, 20 Jul 2008 10:20:49 -0700
|
|
Subject: [PATCH] fastboot: make fastboot a config option
|
|
|
|
to mitigate the risks of async bootup, make fastboot a configuration
|
|
option...
|
|
|
|
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
|
|
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
---
|
|
init/Kconfig | 11 +++++++++++
|
|
init/main.c | 4 ++++
|
|
2 files changed, 15 insertions(+)
|
|
|
|
Index: linux-2.6.27/init/Kconfig
|
|
===================================================================
|
|
--- linux-2.6.27.orig/init/Kconfig 2008-10-14 16:55:47.000000000 +0200
|
|
+++ linux-2.6.27/init/Kconfig 2008-10-14 17:01:48.000000000 +0200
|
|
@@ -524,6 +524,17 @@ config CC_OPTIMIZE_FOR_SIZE
|
|
|
|
If unsure, say Y.
|
|
|
|
+config FASTBOOT
|
|
+ bool "Fast boot support"
|
|
+ help
|
|
+ The fastboot option will cause the kernel to try to optimize
|
|
+ for faster boot.
|
|
+
|
|
+ This includes doing some of the device initialization asynchronous
|
|
+ as well as opportunistically trying to mount the root fs early.
|
|
+
|
|
+ If unsure, say N.
|
|
+
|
|
config SYSCTL
|
|
bool
|
|
|
|
Index: linux-2.6.27/init/main.c
|
|
===================================================================
|
|
--- linux-2.6.27.orig/init/main.c 2008-10-14 17:01:42.000000000 +0200
|
|
+++ linux-2.6.27/init/main.c 2008-10-14 17:01:48.000000000 +0200
|
|
@@ -781,7 +781,11 @@ static void __init do_initcalls(void)
|
|
for (call = __early_initcall_end; call < __initcall_end; call++) {
|
|
if (phase == 0 && call >= __async_initcall_start) {
|
|
phase = 1;
|
|
+#ifdef CONFIG_FASTBOOT
|
|
queue_work(async_init_wq, &async_work);
|
|
+#else
|
|
+ do_async_initcalls(NULL);
|
|
+#endif
|
|
}
|
|
if (phase == 1 && call >= __async_initcall_end)
|
|
phase = 2;
|