Re: [PATCH] init : Reduce rootwait polling interval time to 5ms

From: Andrew Morton
Date: Wed Dec 07 2016 - 15:47:30 EST


On Wed, 07 Dec 2016 15:07:43 +0900 Jungseung Lee <js07.lee@xxxxxxxxxxx> wrote:

> For several devices, the rootwait time is sensitive because it directly
> affects booting time.
> The polling interval of rootwait is currently 100ms.
> To save unnessesary waiting time, reduce the polling interval to 5 ms.
>
> ...
>
> --- a/init/do_mounts.c
> +++ b/init/do_mounts.c
> @@ -543,6 +543,8 @@ void __init mount_root(void)
> #endif
> }
>
> +#define ROOTWAIT_MSEC 5
> +
> /*
> * Prepare the namespace - decide what/where to mount, load ramdisks, etc.
> */
> @@ -588,7 +590,7 @@ void __init prepare_namespace(void)
> saved_root_name);
> while (driver_probe_done() != 0 ||
> (ROOT_DEV = name_to_dev_t(saved_root_name)) == 0)
> - msleep(100);
> + msleep(ROOTWAIT_MSEC);
> async_synchronize_full();
> }

Fair enough. But I don't think the used-once #define adds any value,
so let's go with the simple version?

--- a/init/do_mounts.c~init-reduce-rootwait-polling-interval-time-to-5ms-fix
+++ a/init/do_mounts.c
@@ -543,8 +543,6 @@ void __init mount_root(void)
#endif
}

-#define ROOTWAIT_MSEC 5
-
/*
* Prepare the namespace - decide what/where to mount, load ramdisks, etc.
*/
@@ -590,7 +588,7 @@ void __init prepare_namespace(void)
saved_root_name);
while (driver_probe_done() != 0 ||
(ROOT_DEV = name_to_dev_t(saved_root_name)) == 0)
- msleep(ROOTWAIT_MSEC);
+ msleep(5);
async_synchronize_full();
}

_