Re: [patch 5/3] fastboot: sync the async execution before late_initcalland move level 6s (sync) first

From: Simon Arlott
Date: Sun Jul 20 2008 - 17:23:39 EST


On 20/07/08 22:14, Daniel Walker wrote:
On Sun, 2008-07-20 at 09:00 -0700, Arjan van de Ven wrote:
@@ -775,6 +776,11 @@ static void __init do_initcalls(void)
}
if (phase == 1 && call >= __async_initcall_end)
phase = 2;
+ if (phase == 2 && call >= __device_initcall_end) {
+ phase = 3;
+ /* make sure all async work is done before level 7 */
+ flush_workqueue(async_init_wq);
+ }
if (phase != 1)
do_one_initcall(*call);
}

Did this impact the boot time improvements at all?

The USB HCD initcalls take so little time to complete (100ms each) that ensuring they have finished makes no difference.

USB devices get detected after those initcalls finish in parallel with the rest of the boot process (and there's about 1.5s before the first USB device driver initcall runs).

--
Simon Arlott
--
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/