USB: EHCI: stagger frames for interrupt transfers
authorAlan Stern <stern@rowland.harvard.edu>
Fri, 22 May 2009 21:02:33 +0000 (17:02 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 16 Jun 2009 04:44:46 +0000 (21:44 -0700)
commit68335e816a92411649955a9903b1f30c388ea322
tree4a4baca40490df08704271a6c39b0fa4a59edc95
parentbe475d9027a07069407a19980d1a4fcb7b18b23c
USB: EHCI: stagger frames for interrupt transfers

This patch (as1243) tries to improve ehci-hcd's scheduling of
interrupt transfers.  Instead of trying to cram all transfers with the
same period into the same frame, the new code will spread the
transfers out among lots of different frames.  This should reduce the
periodic schedule load in any one frame -- some host controllers have
trouble when there's too much work to do.

A more thorough approach would stagger the uframe values as well.  But
this is enough to make a big improvement.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Dwayne Fontenot <dwayne.fontenot@att.net>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/ehci-sched.c
drivers/usb/host/ehci.h