Re: USB2.0 [EHCI] Issue : EHCI interrupt endpoints transfer is taking above 600 microsec on USB 2.0 host

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 24 May 2012, Aman Bansal wrote:

> Dear Sarah and Alan,
> 
> Thanks for your response.
> 
> >> > In our implementation with EHCI controller and linux-3.0.20:
> >> > The time interval on USB host between calling usb_submit_urb and its
> >> > completion callback invocation on interrupt endpoints
> >> > takes around 636 microseconds as compared to 28 microseconds for bulk
> >> > endpoint.
> >
> > Why is that a problem?
> 
> We have requirements for latency for RTT (Round trip time) in
> interrupt endpoints similar to bulk endpoints transfer.

Then you can fix your problem simply by increasing the bulk transfer 
latency, right?  Then the two RTT latencies would be the same.  :-)

>  The above
> issue of interrupt transfer is increasing data transfer time using
> interrupt endpoints.

I mentioned this before, but I will say it again: Interrupt transfers 
are not meant to have minimum latency.  The USB spec is very clear 
about this.  If you depend on them for rapid data delivery then your 
design is broken.

> We want latency performance to be less than 0.2 ms. Even bulk
> endpoints transfer provides latency of 0.2 ms.

This is beyond the ability of USB 2.0.  The minimum possible latency 
that can be guaranteed for interrupt transfers is 0.25 ms (two 
microframes) under the best circumstances.  Round-trip times are 
longer, of course.

You might consider using bulk transfers instead of interrupt.  Or 
switch over to USB 3.0.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux