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