Hello David and Greg,

I've completed an incremental version of my patchset for the new EHCI
scheduler.  It is broken up into 14 seperate patches and each
incremental yields a valid/working ehci scheduler.  Naturally,
they're all meant to all be applied at once but they can be evaluated
individually.  They're slightly more up to date than my most recent
monolithic version of the patch.

(there is a 15th patch that is needed by USB audio to work properly
with a periodic scheduler that reliably reports underruns)

Some amount of each patch is modification of code that is eventually
eliminated by the end; however, this was necessary for each patch to
stand on its own.  For this reason, although each patch was tested
individually, I trust each patch in isolation somewhat less than the
result of applying the whole. There is also a substantial amount of
code movement and refactoring for no functional change, such that
later functional changes are smaller/better contained/easier to
understand.

The files are at:

 http://web.mit.edu/xiphmont/Public/kernel/incremental/20060921/

Should I post them to the list or this sufficient?

Patch file descriptions:

ehci-sched-patchset-20060921-1.patch: minor refactor to endpoint
disable code, refactor stream state to persist from first transfer to
endpoint shutdown

ehci-sched-patchset-20060921-2.patch: centralize periodic schedule
enable/disable code; make periodic schedule shutdown less aggressive
(shutdown after a full traversal of the schedule with nothing to do)

ehci-sched-patchset-20060921-3.patch: move scattered periodic qh
handling to one place, refactor qh schedule/deschedule such that
it will be possible to unlink/deschedule qhs without unbudgeting.

ehci-sched-patchset-20060921-4.patch: move ehci_iso_sched code to one
place

ehci-sched-patchset-20060921-5.patch: sort iso_schedule code into
distinct sections (instead of the various abstractions being
intermixed); add kernel doc comments

ehci-sched-patchset-20060921-6.patch: eliminate code to optionally
disable split iso; eliminate 'EHCI_URB_TRACE' code to be replaced by
new debugging output later

ehci-sched-patchset-20060921-7.patch: sitd code refactoring to better
facilitate frame spanning support code

ehci-sched-patchset-20060921-8.patch: refactor scan_frame code to
better facilitate sitd backpointer and fstn support

ehci-sched-patchset-20060921-9.patch: modify 'interval' and 'period'
to consistently use uframes for all transfer types; implement EHCI
recommendation to limit qh tree depth (saves some memory now, saves
substantial memory when implementing FSTN support)

ehci-sched-patchset-20060921-10.patch: Adds the shadow budget
abstraction code alongside current scheduling code; the abstraction is
complete but not yet active.

ehci-sched-patchset-20060921-11.patch: Activate shadow budget
abstraction code in parallel; the budget is tracked and maintained in
full but is not yet used to make any of the scheduling decisions.

ehci-sched-patchset-20060921-12.patch: Switches scheduler over to
using the shadow budget for all scheduling decisions.  Old scheduling
logic removed.

ehci-sched-patchset-20060921-13.patch: Adds full FSTN support.

ehci-sched-patchset-20060921-14.patch: Adds full sITD frame spanning
support.

usbaudio-sync-2.6.17-20060809.patch: Fixes a bug in usbaudio that is
tripped by the USB code now reliably reporting underruns (the usbaudio
setup code causes harmless underruns during setup, but aborts when
they're reported)

Monty

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to