One starnge thing that I see on the protocol Analyser is that,even within a
URB  after we receive the ACK for one OUT packet the host sends the next OUT
packet after 4-5 microseconds (and I suppose that this is due to some
hardware latency, as software has no controller once the URB i submitted).

Now if we consider this 4microsecond then time to transmit one packet of 512
byte is approximately 14microseconds. Which means a throughput of
approximately 292Mbps.

So to me it seems theat this is the maximum that I could achieve, even if I
remove my all software latencies.

Can anybody tell me the reason for this 4-5microescond, time. Or is there
any way to remove this

JUhee

-----Original Message-----
From: Alan Stern [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 09, 2006 8:10 PM
To: Juhee MALA
Cc: linux-usb-devel@lists.sourceforge.net
Subject: Re: [linux-usb-devel] USB Host performance


On Tue, 9 May 2006, Juhee MALA wrote:

> We are using Linux USB Host stack and doing some performance analysis. 
> For performance analysis we are testing it with a device, which 
> accepts the Bulk-OUT packets with full effieciency (not much-NYTES 
> from device side). We are submitting the data of URB size 8kbytes. The 
> throughput in such scenario that we are getting is approximately 
> 175Mbps.
> 
> 1. Can anybody tell me, if this is a good performance?

Good for what?  It's certainly not the best possible.  But it's more than 
adequate for USB-audio.

> 2. Can anybody tell me what is the best performance that can be 
> achieved on a USB host?

The maximum theoretical throughput for high-speed 512-byte bulk transfers is
13 packets per microframe, or 53248000 B/s.  That's equivalent to 426 
million bits per second.

Linux can achieve such rates, if the hardware allows.  To reach it, you have
to submit a lot of URBs asynchronously.  If you're using 8 KB transfer
lengths then you should submit at least two batches of URBs, with at least
64 URBs in each batch, and with the URB_NO_INTERRUPT flag set on each URB
except the last one in a batch.  Each time a batch completes, immediately
submit another batch.

> 3. IS there any bench marking tool for checking the host stack 
> performance?

Not that I know of.

> 4. Which application should be used for demonstrating the host 
> performance?

This is almost the same question as number 3.

If you want to use your test device, you should select an application that 
will work with it.  Of course, since I don't know what your test device 
is, I can't recommend any applications.

Alan Stern




-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to