generic-poky/meta-moblin/packages/linux/linux-moblin-2.6.27/0029-fastboot-make-fastboot...

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;