From: Tim R. <ti...@pr...> - 2013-06-26 16:36:10
|
Doak, Roger (GE Healthcare) wrote: > > > We are using Libusb 1.0.9 on a Linux platform. Our host is using > Asynchronous device I/O and interrupt transfer. We have a dedicated > high priority task that calls libusb handle events. When a device is > connected eight 64 byte buffers are submitted to ensure the library > always has a buffer to write incoming data into. The host can have up > to 8 USB devices connected. We wanted to ensure we had enough CPU to > handle all 8 simultaneously so we programed the USB devices to send > 506 bytes at 120Hz (these will be segmented into seven 64 byte packets > and one 58 byte packet). > What are your latency requirements? If your fundamental transfers will always be 506 bytes, then make your buffers 512 bytes instead of 64. That will reduce the kernel/user/kernel transition overhead by a factor of 8. -- Tim Roberts, ti...@pr... Providenza & Boekelheide, Inc. |