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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to