Tulip and Interrupt mitigation

Thomas Mischke
2001-07-31T12:22:59Z

Hello,

the tulip driver (as of 2.4.7, maybe earlyer versions too) has code in
tulip_interrupt to switch to interrupt mitigation on heavy network load.
The problem is: I have heavy network load, my system (Athlon 900 MHz
with 1 GB) spends 100% of the time in the interrupt, but it does not
switch to mitigation.

If I force the card to mitigation (by changing the code of tulip driver)
I don't loose any packets and get 20% idle time. Great!

I don't use CONFIG_NET_HW_FLOWCONTROL because sometimes my network goes
down for about 5 seconds. This does not happen without
CONFIG_NET_HW_FLOWCONTROL.

The problem seems to be the following: Mitigation is switched on if we
receive (or send) a lot of packets during a single interrupt. But this
never happens. During an interrupt I receive or send about 5 packets, so
no mitigation is started. But the interrupt is called very quickly after
leaving again, seeing another 5 packets and so on.

My tulip cards use 21143 chips.

Thanks in advance,

Thomas Mischke