EHCI driver breaks at 6 endpoints

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

 



Hello,

We are attempting to create a system that will support 8 full speed USB devices each sending a 64-byte transfer every 1ms via interrupt endpoints.  When we connect 5 full speed USB devices our USB host use 24% of the CPU, but when we connect a 6th device, the CPU goes to 100%.  Has anyone else seen this type of CPU jump or know what could be causing it?

Devices	CPU	Total Throughput
 1		 7%	64  KB/s
 2		11%	128 KB/s
 3		15%	192 KB/s
 4		19%	256 KB/s
 5		24%	320 KB/s
 6		99%	(should be 384 KB/s, but the iMX535 misses sending IN tokens in some SOF periods)

We are using a Freescale iMX535 board running at 800 MHz as the USB host.  One of the iMX535 EHCI root controllers is connected to a high speed USB hub which has two ports each connected to another high speed USB hub (giving us 8 ports for USB devices).  Each hub has multi-TT support.  The iMX535 is running Linux 2.6.35, and our test application uses libUSB asynchronous I/O (v1.0.16).   The libUSB callback function do not process the data; rather the function only resubmits the transfer.

We only have the EHCI driver enabled.
   CONFIG_USB_EHCI_ROOT_HUB_TT=y
   CONFIG_USB_EHCI_TT_NEWSCHED=y
   # CONFIG_USB_ARCH_HAS_OHCI is not set

Thanks for the help.

-Nate
--
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