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