I can confirm that eepro100 ethernet driver doesn't work reliable under a
high load. It died on my server about once in 2 days under a medium load (20
gigabyte per day). And I've heard about high loaded servers where the driver
dies in a matter of minutes.
Now I use a modified driver
ftp://ftp.nc.orc.ru/pub/Linux/people/saw/kernel/eepro100.c
which works much more reliable.
This driver has the following key differences:
1. Multicast filter setting was reimplemented in a reliable way.
2. Receive ring refilling was rewritten to handle temporary fails of socket
buffer allocation.
3. Full card reset in cases of transmitter hangs was implemented.
A slightly more detail list of changes is available:
ftp://ftp.nc.orc.ru/pub/Linux/people/saw/kernel/eepro100.changelog
If you wish to try this driver please note that
1. it compiles under recent 2.3 kernels. For 2.2 kernels you need to rename
`struct net_device' back to `struct device' and fix the code getting PCI
base address.
2. Some fixes in the driver may have a bad influence on the latency.
I plan to fix them in the future. However I'm not sure that the latency
changes are visible. Any reports on this matter are appreciated.
3. This driver is alpha-quality. I've received a lot of proposals how to
improve the code (e.g. from Alexey Kuznetsov). There are a lot of things
which I'd rewrite if I had a time. So be indulgent :-)
Please blame for all the bugs in this version of the driver me rather than
Donald Becker. All the remaining bugs are mine :-)
Best regards
Andrey V.
Savochkin
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/