2005-10-21 14:02:44

by Franck Bui-Huu

[permalink] [raw]
Subject: kernel is overwhelmed by usb hcd's interrupts

Hi,

I've written an usb driver for linux for a specific usb host
controler. Basicaly the hw generates an interrupt every 1 ms (every
start of frame) and during transfers interrupts can be generated every
30 us ! My cpu is a MIPS one running at 96Mhz and HZ is 100.

After transfering 20M bytes of data through USB, the kernel loops for
a while in timer interrupt handler. It actually loops in update_times
with tick (jiffies - wall_jiffies) value equals to 3707637046 ! I
guess that the kernel have lost a lot of timer ticks...However
interrupts are enable inside usb driver, I don't see how the kernel
can lost so many ticks.

Could anyone give me some advices for that ?

Thanks
--
Franck