Re: Analysis of USB 2.0 HUB TT scheduling + suggested fixes

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

 



On Mon, 25 Oct 2010, Hans de Goede wrote:

> Hi All,
> 
> The last 3 days I've been working on (*) getting a few usb-1.1
> webcams to work when connected through a usb-2.0 hub.
> 
> *) And also doing a lot of reading of ehci-sched.c and the usb 2.0
> standard.
> 
> This mail is an attempt to organize my thoughts, point out
> what I believe are bugs in the current code and suggest some
> enhancements.
> 
> Note the below discusses the CONFIG_USB_EHCI_TT_NEWSCHED code, some
> may apply to the old code to, some may not.

...

It looks like all the issues you raise were discussed in those threads 
I referred you to earlier.

> Once all of the above issues are fixed, things may all be to the spec, but
> limiting all transfers to uframe0-3 is not good, so I plan to work on FSTN
> support as time allows. Atleast for isoc transfers as doing FSTN support
> for isoc transfers is something which I think can be implemented in a sane
> manner (unlike interrupt transfer FSTN stuff).

What are you talking about?  FSTN doesn't apply to isochronous 
transfers, only to interrupt transfers.  Conversely, isochronous-OUT 
transfers require support for the BackPointer field in the siTD 
structure, which we currently don't have.

> When we do this (add FSTN support for isoc but not for interrupt transfers)
> it might be a good idea to reserver the 1st uframe for interrupt transfers
> (except when a really large isoc request arrives).

The entire TT-scheduling code, old and new, needs to be rewritten.  I
suggest that when this is done, we schedule each isochronous transfer
as early as possible within the frame and interrupt transfers towards 
the end of the frame (depending on the period).

Alan Stern

--
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