Re: NIC inerrupt

From: Bart Samwel
Date: Mon Apr 19 2004 - 09:42:20 EST




John Que wrote:
Hello,

I want to count the number of times I reach an NIC receive
interrupt.

I added a global static variable of type int , and initialized
it to 0 ; each time I am in the rx_interrupt of the card I incerement
it by one;
I got large , non sensible numbers after one or two seconds;

So for debug I added printk each time I increment it in rx_interrupt.

What I see is that there are unreasonable jumps in the number

for instance , it inceremnts sequntially from 1 to 80,then jums to 4500, increments a little sequentially to 4580, and the jums again to
11000 ;

Is it got to do with it that this is in interrupt?
Any idea what it can be ?

You're probably reading the kernel output from syslog. Syslog periodically reads out the printks from the kernel. With the amount of printks you're doing you are probably printing info for about 4500 interrupts between every time syslog checks for new kernel output, while the kernel buffer that is used to store this information can only handle enough data for 80 interrupts.

--Bart
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/