Re: USB Interrupt Transaction Scheduling

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

 



On Mon, Jul 29, 2013 at 08:43:01PM +0000, Stoddard, Nate (GE Healthcare) wrote:
> According to the USB 2.0 specification, 19 full speed interrupt endpoints (@ 64 bytes) can be scheduled.  I have a couple of questions about this specification and the Linux kernel's implementation:
> 
> 1.  Does this number take the USB requirement that  "no more than 90%
> of any frame be allocated for periodic full-speed transfers" into
> account?
> 
> 2.  Does the full speed limitation apply if full speed devices are
> connected to high speed hubs?
> 
> 2a.  If the high speed limitation is used:  Does the scheduler
> multiplex each full speed device's split data packets over the 8
> available micro-frames?

Becides just testing to see if we do follow these things, what is your
end goal here?  Are you trying to determine how many devices you should
be able to successfully plug into a machine and have them work properly?

Or something else?

> We performed some testing, but I don't want to make assumptions on these results alone.
> Setup #1:
> Kernel 3.10.0
> Connect 6 USB devices (each with 2 IN and 1 OUT interrupt endpoints
> @64 bytes) to USB 1.1 full speed hubs to a PC USB 2.0 port.  The test
> application can communicate with all 18 endpoints.  When we connected
> a 7th device, the test application is unable to open and access the
> device.  This makes sense because that would be 21 full speed
> endpoints.

Watch out when using USB 1.1 hubs plugged into a EHCI controller, there
are some "tricky" things happening at times that can get messy.  I'd not
recommend doing that if you can avoid it.

> Setup #2:
> Kernel 3.10.0
> Connect 7 USB devices (each with 2 IN and 1 OUT interrupt endpoints
> @64 bytes) to USB 2.0 high speed hubs to a PC USB 2.0 port.  The test
> application can communicate with all 21 endpoints.  This appears to
> violate the full speed limitation; however, it wouldn't be violating
> the high speed limitation of 63 endpoints per micro-frame.

Hey, if it works, don't complain :)

You don't say what the devices are rated to be, full/low/high/super
speed, which matters a lot here.

thanks,

greg k-h
--
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