USB HCD driver
popcornmix at gmail.com
Mon Jun 4 08:20:52 EDT 2012
On Sun, Jun 3, 2012 at 11:19 PM, Theo Markettos
<linux-rpi at markettos.org.uk> wrote:
> One issue that's been reported is 8000 interrupts per second, even in idle
> mode. According to Jeffrey our driver porter, the Synopsys driver relies on
> the start of frame interrupt for scheduling transfers if "descriptor DMA" is
> not implemented (which it isn't, on BCM2835). 8000 is one interrupt per
> microframe. We have a couple of ideas for that: one is to somehow disable
> the interrupt if nothing interesting is happening. The other is to wire it
> into a FIQ (which the BCM2835 interrupt controller will let you do). That
> gives a much lower interrupt latency for dealing with unwanted interrupts.
> I understand Linux doesn't really use FIQs, which is unfortunate, but
> perhaps could be implemented for purposes such as this.
I can confirm that the interrupts cost us about 20% of CPU when USB is idle.
(measured by running a benchmark that is CPU limited, eg XBMC fps,
then killing dwc_otg and watching it improve)
So I'd love to see a FIQ (or other) improvement.
More information about the linux-rpi-kernel