Re: Large USB HID transfers

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

 



On Fri, Nov 1, 2013 at 5:04 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> On Fri, 1 Nov 2013, Cliff Brake wrote:
>
>> On Thu, Oct 31, 2013 at 2:25 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
>>
>> >> > What host controller driver are you using?
>> >>
>> >> Its the USB EHCI host in the TI DM3730, so it uses the
>> >> drivers/usb/host/ehci-omap.c driver.
>> >
>> > You can find out exactly what part of the kernel is responsible for
>> > interrupt delays by using the "irqsoff" tracer.  See
>> > Documentation/trace/ftrace.txt for details about how to use it.
>>
>> I captured a trace here: http://bec-systems.com/usb-trace.txt
>>
>> Still working to decode it -- any suggestions are welcome.
>
> As far as I can tell, the big blockage occurs when the machine has to
> analyze an input report from which it extracts 767 fields and ends up
> calling hid_process_event about 2300 times.  Since each call takes
> around 60-80 microseconds, you end up with a very large latency.
>
> Why on earth are you using such enormous HID reports?

The consumer device we are interfacing with only supports HID
transfers.  Since we are trying to transfer large amounts of data, we
need to send a lot of packets, as the average HID packet size is only
~700 bytes.

Its a very slow and inefficient mechanism, but its the only way to
interface with this device if the linux system is the USB host.

We have the same system running on a older PXA270 version of the
product (vs the current TI DM3730).  It has an older OHCI 12Mbit USB
host controller (vs the current TI EHCI controller).  We have _not_
experienced these types of latencies with the older PXA270 product.
This may be another indication the problem lies in the TI EHCI
controller driver, but its odd we have not seen any issues with other
peripherals.

Will be digging into it more today ...

Thanks,
Cliff

-- 
=================
http://bec-systems.com
--
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