[tulip] Permanent interrupt mitigation with 21143 quad card
Wed Nov 13 12:07:01 2002
I recently sent an email to this list detailing my efforts to obtain
wire speed (100 Mbps) routing with 21143 quad interface cards in several
Linux boxes that are to act as routers in a network testbed environment.
While I'm able to accomplish this if only two of the interfaces are
active at one time (i.e. one receiving and one sending), if all four
interfaces are active (two receiving and two sending), my throughput
maxes out at about 72 Mbps. The hardware for each router certainly
seems up to the task (an Asus A7V266-E motherboard, Athlon XP 2000+, and
256MB of PC2100 RAM), but the interrupt load that occurs when all the
interfaces are active surpasses even this setup.
Basically, the responses to my email said that 70 Mbps was about the
best that I could hope for in this situation, but I was wondering if
there was a way to permanently enable interrupt mitigation either
through a utility such as tulip-diag or by hacking the driver code.
Obviously, this could lead to increased throughput at the cost of
additional latency, which is an exchange I'm willing to make. To do
this in the driver code, I would have to have to make changes to
tulip_rx() and the interrupt handler to either disable the switching
between mitigation and no-mitigation modes or (as a quick hack) just
have it write mit_table to CSR11 every time. This is the impression
I get from my initial inspection of the code, but was wondering if there
were other places that I may have to make changes in order to accomplish
this or if the permanent enabling of mitigation would lead to some
Any input that you all could give to my efforts to improve throughput in
this situation would be greatly appreciated. A faster processor may be
the only answer in this case, but I thought I would investigate all
possibilities of solving this through software before I went out and
blew a thousand dollars or so upgrading the machines.
Thanks in advance for your time,