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]

 



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. The above
issue of interrupt transfer is increasing data transfer time using
interrupt endpoints.

>
>> What was the interval set to on the interrupt URB?
>

We tried all possible values of interval from 1 to 15 and above time
taken is measured for interval 1 and 2 both same for interrupt URB. It
is increasing more as we increase the interval further.

> Also, what speed does the embedded device run at: low, full, or high?
>

Our device runs at high speed device.

>> > Is there any way I can improve interrupt transfer latency between my host
>> > and device ?
>
> Why do you want to decrease the latency?  By definition, interrupt
> transfers have _bounded_ latency, not _small_ latency.
>

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

> In any case, if you are doing multiple transfers then it helps always
> to keep the pipeline non-empty: Submit multiple interrupt URBs, and
> each time one of them completes, submit a new one (or resubmit the one
> that just completed).  That will minimize latency overall.
>

This will decrease overall latency requirement but even we are facing
issue with one time transfer latency also.

>> Have you looked at a bus trace of your host controller to see when it
>> actually sends the interrupt transfer and compared to the USB mon trace
>> of when it was submitted and completed?
>
> They might be difficult to compare, because a bus trace wouldn't have
> any timing information in common with a usbmon trace.
>

I will try to do the profiling of data flow in driver.

Thanks,
Aman
--
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