RFC : usbatm and iso

matthieu castet castet.matthieu at free.fr
Fri Feb 11 12:29:40 EST 2005

Hi Roman,

Roman Kagan wrote:
>   Salut Matthieu,
> On Mon, Feb 07, 2005 at 04:36:58PM +0100, matthieu castet wrote:
>>I attached a patch for adding iso to the new library.
>>Seem to work well but need more testing.
> Just out of curiosity: does using of isochronous transfers improve
> throughput compared to bulk?  I'd be rather surprised if it does...
Yes, with urb it don't work well for rate > 100 kbits, for iso rate it 
is ok.
may be it is caused by the modem...

> Re. your patch, I'm missing the point of having multiple iso urbs,
> especially since you use an interval of 1.  Why not use iso frames
> within a single urb where the bulk version uses separate urbs?
 From usb.h :

* Isochronous URBs have a different data transfer model, in part because
  * the quality of service is only "best effort".  Callers provide specially
  * allocated URBs, with number_of_packets worth of iso_frame_desc 
  * at the end.  Each such packet is an individual ISO transfer. 
  * URBs are normally queued, submitted by drivers to arrange that
  * transfers are at least *double buffered*, and then explicitly 
  * in completion handlers, so
  * that data (such as audio or video) streams at as constant a rate as the
  * host controller scheduler can support.

Also it is ouble buffered iso urb are common :
$grep "double buffer" drivers/usb/media/*

> Or am I saying something totally stupid?

More information about the Usbatm mailing list