On Thu, Nov 14, 2002, Brad Hards <[EMAIL PROTECTED]> wrote:
> I've run netperf on the CDC ethernet driver, and performance sucks. The CATC 
> USB dongle and my 8039 PCI card get around 7 x 10e6 bits/sec, and my CDC 
> hardware gets about 3.6. This is over a 10Mbps hub. The hardware on the other 
> end is pretty crappy too, but its at least constantly crappy.
> 
> I'm guessing that this throughput difference is at least partly due to not 
> using magic called "bulk queuing". I didn't pay enough attention when the 
> implementation was being discussed, and google isn't showing me any summary 
> explanations.
> 
> Can someone provide a quick "once over" on the topic, including any "gotchas"?

It's actually very simple.

On the receive path, you allocate multiple URBs and then submit them
all, making sure that you set USB_QUEUE_BULK in transfer_flags.

The HCDs take care of the rest.

You get callbacks just like you did before and you submit them just like
you did before, except with the flag set.

The only difference is you'll have x number URBs instead of 1 URB.

On the transmit path, it works the same way.

In fact, it's so transparent, there have been a couple of discussions
about why it's even an option. The suggestion to ditch the flag and
always do it has come up before.

JE



-------------------------------------------------------
This sf.net email is sponsored by: Are you worried about 
your web server security? Click here for a FREE Thawte 
Apache SSL Guide and answer your Apache SSL security 
needs: http://www.gothawte.com/rd523.html
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to