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