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