Ted Huntington wrote:
I am using a Cypress FX2, and the fastest bulk speed I can get in Linux
is 30MB/s.  If I include writing the data to disk that speed is 15MB/s.
I see that CPU use is at 100% when doing these transactions.

Getting 30MB/s requires very specific conditions:
0x1000 size user read buffer
0x1000 size URB buffer

I deduce that you're not using urb queueing. If you keep an I/O queue full at all times, you'll be limited by hardware performance of your FX2 and EHCI controllers ... some controllers of course can't actually get much more than about 22 MB/sec (older NEC). If your CPU use is that high on the Linux side, and you're not copying lots of buffers with a slow CPU, you're doing something wrong.

You'll probably need to have separate activities reading data and
writing it to disk.  I've had one person report 39 MB/sec on Linux,
FX2-to-disk, that way ... I think that was with a VT8235.


With libusb I only get 16MB/s.  Is there a libusb implementation for ISO
planned?

You can use the "async" usbfs calls, I don't know that libusb will handle them. (It tries to be cross-platform.)

I'd hope that any new usermode USB APIs will all be designed around
new kernel mode ones ... using the 2.6 kernel and libaio.


Is this a hardware problem that we do not get 60MB/s (or 52MB/s)?
Hopefully, this will be solved in the future.

The FX2 doesn't have much of a CPU. The max bulk throughput is 52 MB/s, the 60 MB number doesn't count framing and other limitations. And I'm not sure I'd expect any hardware to really hit the 52 MB/s number.


I am going to test bulk transfers on XP and I will report the results.
According to one Cypress document the FX2 averages 39MB/s in XP (so
9MB/s faster than I am getting on Linux, but still under the 50MB/s
claim).  The important thing for me is that I can write to disk using
iso at 24MB/s.

I've certainly done high bandwidth ISO to/from userspace, with a dumb implementation that requires copy_to_user(), at 24 MB/s ... and had plenty of CPU left over for real work. Which means you can achieve that if you have a disk that can sustain that data rate, and both hardware and software designs that don't create spurious bottlenecks.

- Dave



Ted







------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to