Messages in this thread | | | Date | Wed, 6 Aug 2008 12:29:13 -0700 | From | Greg KH <> | Subject | Re: [PATCH RFC] USB: Add HCD fastboot |
| |
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
| |