Messages in this thread | | | Date | Wed, 06 Aug 2008 20:20:13 +0100 | From | Simon Arlott <> | Subject | Re: [PATCH RFC] USB: Add HCD fastboot |
| |
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
| |