Re: another must-fix: major PS/2 mouse problem
Andrew Morton <[email protected]>
| Newsgroups | gmane.linux.kernel,gmane.linux.drivers.vortex.devel |
|---|---|
| Message-ID | <[email protected]> |
Albert Cahalan <[email protected]> wrote: > > Using the lockmeter on a 2.5.75 kernel, I discovered > that boomerang_interrupt() grabs a spinlock for over > 1/4 second. No joke, 253 ms. Interrupts are off AFAIK. boomerang_interrupt() doesn't disable interrupts. Is the NIC sharing the mouse's IRQ line? boomerang_interrupt() is only used by nasty old NICs and yes, I guess it is possible that something has gone wrong and is causing occasional long spins in there. But I am more suspecting that you're not really using boomerang_interrupt() at all, and that something has gone wrong with lockmeter. What sort of NIC are you using? Bear in mind that if some other device generates an interrupt while the CPU is running boomerang_interrupt(), lockmeter will count the time spent in that other device's interrupt as "time spent in boomerand_interrupt()". Which is very true, but it is not much help when one is trying to identify the source of the problem. Perhaps what you should do is to do an rdtsc on entry and exit of do_IRQ() and print stuff out when "long" periods of time in do_IRQ() are noticed.