Re: [PATCH RFC] USB: Add HCD fastboot

Greg KH
2008-08-06T19:32:08Z

On Wed, Aug 06, 2008 at 08:20:13PM +0100, Simon Arlott wrote:
> On 06/08/08 20:11, Alan Stern wrote:
>> On Wed, 6 Aug 2008, Simon Arlott wrote:
>>> On 31/07/08 20:16, Alan Stern wrote:
>>> >> > It's not entirely clear why usblp is blocking at all. Probably
>>> because
>>> >> > it is waiting on the device semaphores for devices that are
>>> currently
>>> >> > being probed -- the driver core won't allow two threads to probe the
>>> >> > same device concurrently.
>>> >> >> Ok - so there could be some big improvements to be had by making
>>> the hcd >> init happen as early as possible and the device initcalls
>>> later?
>>> > > Maybe. Perhaps a better approach would be to make the device driver
>>> > initcalls before there are any devices for their probe routines to >
>>> block on.
>>> What about this?
>>> The Makefiles become a bit messy, but by moving things around I get the
>>> desired effect without splitting their initcalls.
>> Wouldn't it be much simpler, and less objectionable, to do what I
>> suggested earlier? That is, add a 5-second delay at the start of
>> hub_thread() in drivers/usb/core/hub.c. No messing with Makefiles, no
>> changes to the initcall scheduling.
>
> Aside from 5 seconds being too long, and anything less being a race between
> hub_thread() and driver initcalls, it doesn't improve anything because
> it'll still have to wait for the devices to finish initialising in
> userspace instead.

And what is your boot time if the usb drivers are modules?

I'd much prefer that requirement to get a faster boot than to go around
mucking with the link-time ordering...

thanks,

greg k-h