On Tue, 5 Dec 2006, Duncan Sands wrote:

> > Hmm.  If almost nobody is going to see any noteworthy improvement then 
> > there doesn't seem to be much point in doing the parallel probing.
> 
> it is helpful for devices that want to upload firmware in their probe
> method.  Getting the firmware from the firmware subsystem can take a long
> time (due to timeouts for example, which may be infinite, or because it is
> waiting for a filesystem to be mounted etc).  Parallel probing keeps the rest
> of the USB subsystem running while that device is waiting, which is 
> particularly
> important if the filesystem you are waiting for is on a USB device, since
> otherwise it could be a deadlock!

It's not so simple.  Probing done Greg's way (once the locking issues
are fixed) will go in parallel only for devices attached to the same hub 
or root hub.  Devices on other hubs will still have to wait until 
everything on the current hub is finished, since khubd can't manage more 
than one hub at a time.

> So to my mind the importance of this patch is in improving correctness (lack 
> of
> deadlocks) and responsiveness (newly plugged USB devices turn up at once, even
> if some other device is doing a long wait in its probe method), rather than
> performance.

Would it be better to change the drivers so that they _don't_ wait a long 
time in their probe methods?  For example, usb-storage starts up a 
separate thread to take care of potentially long-lasting I/O during 
probing.  Other drivers could do the same thing, or could use 
schedule_work().

Alan Stern


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to