[eepro100] Too many interrupts

Donald Becker becker at scyld.com
Sun Apr 3 20:54:34 PDT 2005

On Sat, 2 Apr 2005, infos chez fdrconseil wrote:

> I am using an Intel eepro 100 dual port adapter and I have a problem.
> I want to use only one port (eth0) and no cable is connected on the second  
> one.
> The board is using IRQ 6; Apparently, there is no IRQ sharing.

The motherboard sets the IRQ assignment.  It tries to map one device per 
IRQ.  With the APIC, Advanced Programmable Interrupt Controller, the OS 
has the option of reconfiguing so that the interrupt arrives on a "high" 

> The problem is that the network board is raising a huge amount of  
> interrupts and the CPUs
> (bi pentium III motherboard) are busy processing these interrupts (about  
> 10%).

What is the packet count?  The eepro100 driver, before it was modified by 
others, should raise about one interrupt per Rx packet.  With normal 
traffic it's possible that all Tx packet will be handled without 
interrupts.  With heavy traffic there should be less than one interrupt 
per Rx packet.

Sometime people don't notice that their machine is being attacked with 
packets that are being immediately discarded.

> Contents of /proc/interrupts :
>    6:  501331320  501309654   IO-APIC-level  eth0
> The same file, few seconds later :
>    6:  502333959  502312308   IO-APIC-level  eth0

About a million interrupts.  That's pretty intense.  I'm guessing that you 
don't have a million packets reported in /proc/net/dev?

Do you get the high interrupt rate as soon as you start the system?  Or 
only later?  If only later, there might be an interrupt source that can't 
be cleared.

Here is a quick check: when you start getting a high interrupt rate, 
disconnect the cable or use 'mii-diag -F 10baseT eth0' to force the 
interface into slow transfers.

> Here is the dmesg messages when starting the system :
> Apr  2 15:52:47 localhost kernel: eepro100.c:v1.09j-t 9/29/99 Donald  
> Becker http://www.scyld.com/network/eepro100.html
> Apr  2 15:52:47 localhost kernel: eepro100.c: $Revision: 1.36 $ 2000/11/17  
> Modified by Andrey V. Savochkin <saw at saw.sw.com.sg> and others
> Apr  2 15:52:47 localhost kernel: eth0: Intel Corp. 82557/8/9 [Ethernet  
> Pro 100], 00:02:B3:B6:2B:39, IRQ 6.
> The questions are :
> - Am i wrong saying the problem comes from the network card ?

Perhaps not.  There may be some other interrupt source on IRQ6.  The 
eepro100 driver interrupt handler is being run, but usually has nothing to 
do.  If you didn't have a SMP your machine would appear to be hung.

> - What can I do ? (CPU power is wasted and CPU temperature increases)

Run the above tests.
Install the driver with debugging turned on to see if there are any 
interrupt sources.
Move the card to a different physical PCI slot to try to get another IRQ 

More information about the eepro100 mailing list