Re: [PATCH RFC] USB: Add HCD fastboot

Simon Arlott
2008-08-06T19:22:14Z

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.

--
Simon Arlott