Re: Large USB HID transfers

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

 



On Mon, 4 Nov 2013, Cliff Brake wrote:

> On Mon, Nov 4, 2013 at 11:51 AM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> > On Mon, 4 Nov 2013, Cliff Brake wrote:
> 
> >> 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.
> >
> > More likely it's an indication that you aren't transferring such large
> > amounts of data with the older host.  The trace shows very clearly that
> > the lion's share of the overhead was not in the EHCI controller driver;
> > it was in the HID processing.
> 
> I did comparison function traces with the PXA270 and DM3730 system,
> and the big difference is the older (gen1) system is only using 64
> byte packets, where the newer one is using ~700 byte packets.  See:
> 
> http://bec-systems.com/usb-trace-gen1_filtered.txt
> http://bec-systems.com/usb-trace-gen2_filtered.txt
> 
> I assume interrupts are disabled during both ohci_irq() and ehci_irq().

Currently they are.  This will change somewhat in the not-too-distant 
future.

> Short term we'll try to force 64-byte packets on the EHCI system.
> Long term it would be nice if this work did not happen in a irq
> handler, although this is clearly an abuse of the HID protocol.

You might be better off writing a special-purpose userspace driver, 
using libusb, instead of relying on the HID driver.  That would allow 
you to handle your data more efficiently, and with interrupts enabled.

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