[PATCH 0/11] USB: EHCI: fixes and scheduler changes

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

 



Greg:

The following patch series is the first step in a thorough redesign of 
the periodic scheduler in ehci-hcd.

The first six patches are all quite small; they include several minor 
fixes and improvements in areas that the later patches will use.  None 
of the fixes are important enough to be worth including in a -stable 
release.

The remaining five patches contain a major overhaul of part of the
scheduler.  Currently, ehci-hcd does not explicitly keep track of how
much bandwidth has been allocated to each frame or microframe.  
Whenever it needs to know, it calculates a value on-the-fly by
iterating through the schedule and adding up the bandwidth requirements
for all the entries.  Not only is this time-consuming and awkward, it
also prevents an inactive endpoint from retaining its bandwidth
allocation.

The new approach uses a table to keep track of the high-speed bandwidth
information.  It also dynamically creates similar tables to track the 
low/full-speed bandwidth usage below each Transaction Translator.  The 
advantages are clear.

Another change made in these patches is to unify the scheduling
information for different types of periodic endpoints.  This makes it
possible to keep both interrupt and isochronous data on a single list
and treat them uniformly.  For the moment this capability is used only
for populating a new debugfs file; it will become much more important
later on when the code for scheduling split transactions is fixed up.

There's still a lot more work to do.  I estimate that these patches
accomplish only about 25% of what we need for really solid periodic
scheduling.

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