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

Simon Arlott
2008-07-29T22:34:39Z

On 29/07/08 23:30, Rene Herman wrote:
> On 29-07-08 23:21, Arjan van de Ven wrote:
>
>> On Tue, 29 Jul 2008 23:12:11 +0200
>> Rene Herman <rene.herman@keyaccess.nl> wrote:
>
>>> After this patch, there are now 2 flush_workqueue(async_init_wq)
>>> calls in do_initcalls. Should the other one remain as well?
>>
>> yes because if you don't have any level 7's then you won't hit this
>> condition... you need the second one.
>>
>> flush_workqueue is cheap for the nothing-in-there case.
>
> Ah, yes.
>
> For what it's worth by the way, I'm running that which is available from
> your fastboot repo (12 patches currently) on top of 2.6.26. Not seen any
> trouble. Nor improvements that I've noticed but this is a rather minimal
> and fast booting kernel/system anyway.

It doesn't appear to be possible to init multiple PCI devices at once...
I haven't looked into what is doing it exactly but presumably there's a
lock being held over the whole device probe process.

The speedup from usb seems to be primarily from initialising devices in
the background... perhaps there's some way to do that without doing hcd
init from a second thread?

I get a really slow booting system if I enable the SAS controller... it
requires 14 seconds to initialise itself, even with no drives attached
(LSI 1068E).

--
Simon Arlott