From 50b6962016b824dfac254b8f36fc6cac301c8a8d Mon Sep 17 00:00:00 2001 From: Arjan van de Ven 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 Signed-off-by: Ingo Molnar --- 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;