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

Simon Arlott
2008-07-31T22:14:27Z

On 31/07/08 22:56, Greg KH wrote:
> On Thu, Jul 31, 2008 at 07:29:21PM +0100, Simon Arlott wrote:
>>>> There is nothing else to run between 1-2 and 3, so there is no
>>>> opportunity
>>>> to initialise devices in the background and usblp_init blocks for a
>>>> while.
>>> If it were a module then it would block in a separate thread and wouldn't
>>> hold up the main init process.
>>
>> Right, but I want to compile all of this into the kernel.
>
> Why? It sounds like a trivial solution for you is to actually use
> modules. Why go through a lot of extra work to solve something in a
> different way that is already solved for you?

Because it looks like doing HCD init early enough is a simple way to
speed up boot time if there are any compiled-in usb device drivers,
without running the HCD init itself from a separate thread.

Arjan, are you able to test this?
I'll try doing what I've suggested later tonight if I have time.

> Who is imposing the "no modules allowed" rule on you, and why was it
> made?

No one is imposing anything on me. I don't yet have an USB keyboard
so I could compile all the drivers as modules without any problems.

There's some strange animosity to compiling things that one knows will
always be needed into the kernel... like the V4L DVB code that used
to fail to work properly, perhaps because everyone uses modules
(4abdcf933f647763592db6bef001d1fae61a5527).

It also leads to people unloading/loading the module to workaround
bugs that could otherwise be fixed
(c278850206fd9df0bb62a72ca0b277fe20c5a452).

--
Simon Arlott