Re: usb scheduler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 26, 2012 at 7:59 PM, Hans Petter Selasky <hselasky@xxxxxxx> wrote:
> On Thursday 26 July 2012 17:47:11 Alan Stern wrote:
>> To get maximum throughput you should submit multiple URBs originally,
>> and then submit a new URB whenever an URB completes.  I recommand using
>> a pipeline depth of 10-20 ms.  For bulk transfers at high speed, that
>> comes out to between 500 KB and 1 MB of concurrent URB data.
>
> Some EHCI hardware will scan for new QH's and TD's when you set the EHCI
> doorbell bit. This bit is only supposed to be used when you remove QH's/TD's
> from the ASYNC schedule, but can also be abused when entering QH's/TD's into
> the schedule.

So USB is not a "classic" bus and not universal, it is a network with
non-constant delay.

Are there USB controllers with the "synchronous transfers" reported
not on microframe boundary, so we can get response less 125 us?
Is there any USB2.0 spec extension declaring "synchronous transfers"?

USB is a good choice for some bus adapters, it is used widely, cheap,
simple. For 2-byte read/write we could use either two bulk IN/OUT
endpoints (131 * 8kHz ~ 1 MHz) or one control endpoint (table 5-3, 42
* 8 kHz = 336 kHz). Ethernet is overkill for the task even if it could
provide 1 us delay.

Is it possible for USB Implementers Forum to add extension for
"synchronous transfers" to be handled asynchronously with microframe
boundaries?
Existing bus adapters use frequently closed proprietary protocols for
pc-adapter link, e.g. CAEN CONET for PCI(e)-VME (I talk about remote
adapters to access with a link, not bridges)...

>
> How this works for your EHCI controller, depends on the actual hardware
> implementation.
>
> --HPS
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux