Re: [PATCH] ehci: remove old TT sched code

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

 



On Thu, 17 Oct 2013, Dan Streetman wrote:

> On Wed, Oct 16, 2013 at 5:09 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> > On Wed, 16 Oct 2013, Dan Streetman wrote:
> >
> >> On Wed, Oct 16, 2013 at 10:34 AM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> >> > On Tue, 15 Oct 2013, Dan Streetman wrote:
> >> >
> >
> >> > Until the "new" scheduler is fixed up to work properly, I prefer to
> >> > keep both options available.
> >>
> >> Ok, no hurry.  With the work you've done on it before and the new
> >> stuff in usb-next it should be working very well soon :-)
> >
> > Dear me, no...  The changes I have made so far amount to perhaps 25% of
> > the work needed to make it truly reliable.  It has so many bugs, I
> > wouldn't even try to list them all.
> 
> Heh, well I guess I wrote it when I was young and coded sloppily ;-)
> I'll review it all again and try to help fix the bugs.

It's not a matter of sloppy coding but of design.  The main issues are:

	We don't handle siTD back link pointers.  Therefore we can't
	allow full-speed isochronous IN transfers to be scheduled in
	B-uframe 4 or later.

	We don't handle FSTN nodes in the schedule.  Therefore we can't
	allow full- or low-speed interrupt transfers to be scheduled
	in B-uframe 4 or later.  (In principle, that is -- in practice
	we do allow uframes 4 and 5, at the cost of having too few
	CSPLIT packets.)

	We don't compute the full-speed budget according to the USB 
	spec.  The spec says that budgets are to be computed in terms
	of best-case full-speed bytes, not worst-case microseconds.

	If an URB's bandwidth can't be accomodated in the current
	schedule, we don't try to rebalance the schedule to make the
	bandwidth fit.

	We don't obey various restrictions on allowable schedules.
	For example, the EHCI spec says that any full-speed isochronous
	transfer of length >= 588 bytes must be the first one in its
	frame, but we don't enforce this.

	We reserve an endpoint's bandwidth when the first URB is 
	submitted rather than when the alternate setting is installed.

There's a bunch of smaller issues under each of those categories, but 
those are the biggies.

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