[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"
IRQ.
> 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
assignment.
More information about the eepro100
mailing list