Messages in this thread | | | Date | Sun, 20 Jul 2008 22:23:07 +0100 | From | Simon Arlott <> | Subject | Re: [patch 5/3] fastboot: sync the async execution before late_initcall and move level 6s (sync) first |
| |
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
| |