> > > > URB submission has other failure possibilities than lack of memory.
> > > > Those other things have to be checked for regardless.
> > >
> > > Yes, but that is because you allow too many parameters in the URB to be
> > > changed between USB transfers.
> >
> > No; it's because unforeseen events can occur.  For example, the device
> > may have been unplugged or suspended.
> 
> On FreeBSD it will never happen that you call the equivalent 
> of "usb_submit_urb()" after that the device has detached! It must be 
> something terribly wrong in the Linux USB stack if the callbacks are alive 
> after that you have detached a USB device.

How does that work then ... driver must grab a lock, check
whether the device has disconnected, then submit the request
and drop the lock?  Sounds like needless slowdowns.

Because if there's no lock against async disconnect events,
then it's trivial to have the disconnect logic underway on
one CPU while another CPU does real work, submitting an I/O
request.

- Dave

p.s. You mentioned 16 MB/sec bulk transfer rates.  Folk often
     get over twice that on Linux, and a few years back there
     were measurements of around 50 MByte/sec ... limitations
     seeming to come from hardware not the driver stack.

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
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