Re: [patch 1/4] fastboot: make fastboot a config option

From: Randy Dunlap
Date: Wed Jul 30 2008 - 11:34:22 EST


On Sun, 20 Jul 2008 15:12:34 -0700 Arjan van de Ven wrote:

>
> From: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>
> 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@xxxxxxxxxxxxxxx>
> Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
> ---
> init/Kconfig | 11 +++++++++++
> init/main.c | 4 ++++
> 2 files changed, 15 insertions(+), 0 deletions(-)
>
> diff --git a/init/Kconfig b/init/Kconfig
> index 6199d11..7545c8b 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -524,6 +524,17 @@ config CC_OPTIMIZE_FOR_SIZE
>
> If unsure, say N.
>
> +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

asynchronously

> + as well as opportunistically trying to mount the root fs early.
> +
> + If unsure, say N.
> +
> config SYSCTL
> bool
>
> diff --git a/init/main.c b/init/main.c
> index 6be1756..bb97add 100644
> --- a/init/main.c
> +++ b/init/main.c
> @@ -776,7 +776,11 @@ static void __init do_initcalls(void)
> for (call = __initcall_start; 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;
> --

---
~Randy
Linux Plumbers Conference, 17-19 September 2008, Portland, Oregon USA
http://linuxplumbersconf.org/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/