[eepro100] Too many interrupts on eepro100

Christian Reis kiko@async.com.br
Fri Aug 16 14:27:01 2002


Hi there,

Still tracking down the problem with that eepro100 card that hogs CPU
when doing block read/write. I've done a bit more testing and I've more
or less cut down the problem to the following fact: it's generating too
many interrupts. 

I have two boxes, with the same CPU and parts, but one has an ALI
chipset and the other, a SIS530. This is linux-2.4.19, with Andrey's
stock 1.36 driver.

Basically, while the ALI computer seems
to coast through block read/write (procinfo -D shows me 50-100 interrupts
every refresh), the second computer is just busy doing context switches
(procinfo -D shows me 5000-10000 interrupts ever refresh). At the end of
a run of 'dd if=/dev/zero of=TESTFILE bs=1k count=100000', the ALI's
network card has processed 18485 interrupts while the card in the SIS
computer has processed 68753. Something's definitely wrong.

I have been reading a bit, and I'm unsure if this has to do with
interrupt mitigation (does this driver support this), with something
broken in the PCI setup (perhaps in BIOS) or it's something unrelated.

Donald, Andrey, any ideas? 

Donald, should I try to compile your driver into the kernel? These are
diskless boxes, so I can't load them as modules, and this also rules out
the Intel e100 driver. Let me know if you have a suggestion as to what I
could do. I've run eepro100-diag and pci-config, and I've disabled sleep
mode in the cards. I've also looked carefully between the two computer's
output, and there *are* some very slight differences between the
register contents -- would sending that in be helpful?

Take care,
--
Christian Reis, Senior Engineer, Async Open Source, Brazil.
http://async.com.br/~kiko/ | [+55 16] 261 2331 | NMFL