On 7/6/07, Bizhan Gholikhamseh (bgholikh) <bgholikh@xxxxxxxxx> wrote:
Hi, We are running kernel 2.6.11 on our custom build embedded platform. Recently we are observing poor performance. I used the vmstat tool and and realized every 17 sec the CPU idle times goes to zero for duration of 10 secs. The vmstat output indicated that number of the interrupts increases resulting in CPU context switching and over all poor system performance.
Interrupts do not result in a context switch, just saves the registers. They just use the current process's stack. However, yes, too many interrupts can and do clog the system.
The interesting thing here is there is no reason the number of the interrupt to increase suddenly in our environment. For example we have a DSP subsystem connected to our board through PCI interface and it is programmed to interrupt the system (through PCI bus) every 10 msec. However, through proc files we observe the DSP is interrupting every 5 msec. How could this happen? Any idea greatly appreciated.
The last time I faced an issue with too many interrupts was when I failed to acknowledge the interrupt in the Network Card's register. However, this is equally possible with misbehaving devices. Check the /proc/interrupts file to check how many interrupts you are getting, and for what devices. (Sometimes IRQs are shared.)
Regards, Biz
Bhanu. -- The box said "Requires Windows Vista or better." So I installed LINUX -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ