David Brownell wrote:
> 
> > 2.Polling interval
> 
> I don't see why this is a different issue than #3 ... it argues
> that treating interrupt urbs as bulk is incorrect, but that's
> not news.
> 
Lets say we have a USB device with a 32ms interrupt endpoint. The
device has data ready at the interrupt endpoint every 1s. All
requests in between will be answered with a NAK.

If we service this device with a periodic interrupt request every 32 ms
we have exactly one transfer every 32 ms. All of them with a NAK and
after a second we get data (about 30 transfers / s).

Now if we schedule a BULK transfer for the interrupt transfer we get an 
arbitrary number of BULK requests every frame. All of them with a NAK
and after one second we get data (about 1000*n transfers / s).

That's the difference.

- Roman


> > 3.Guaranteed polling
> >   Interrupt URBs are (supposed to be) guaranteed to poll at certain intervals.
> >   Bulk URBs are not, so it is possible that under high bus load the device
> >   is starved and data is lost.  I know this is a very unlikely, remote case,
> >   but it is possible.
> 
> Umm ... interrupt urbs are periodic, bandwidth guaranteed
> once the URB is scheduled.  Bulk fits into the 10-20% chunk
> of bandwidth reserved for bulk/control (see usb 2.0 spec
> section 5.5.4), and whatever is left after periodic schedule
> commitments are obeyed.
> 
> If any HCD is so unfair with its scheduling that reserved bandwidth
> that a bulk request gets starved, that's a bug in the HCD (IMO).
> 
> No device may expect better bulk service than seeing
> that the transfer "eventually" happens; that's not something
> that USB guarantees.
> 
> - Dave
> 
> _______________________________________________
> [EMAIL PROTECTED]
> To unsubscribe, use the last form field at:
> http://lists.sourceforge.net/lists/listinfo/linux-usb-devel

_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
http://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to