[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

Re: strange error with eth0



Hello,

M K Saravanan wrote (mksarav@xxxxxxxxxxxxxxxxx):
> our linux box which is acting as intranet server suddenly got struck and gave
> the following error message:
> eth0: too much work in interrupt status e081.  temporarily disabling functions
> (7f7e).

I have seen similar error messages on our machines, with severe consequences.
You probably have many (high speed) network cards or a slow cpu, and the cpu
is interrupted too often due to the network packets pouring in. The linux
kernel just gives up. (I hear that winnt disables interrupts and goes into
polling mode to solve this problem).

This could happen if there is insufficient memory for the network driver.
Are you running mem hogs (like squid) on your box?
Try `echo "512 1024 1536" > /proc/sys/vm/freepages' and see if it goes away.

If you have many network cards, try using the same irq for all cards. Ofcourse
your cards must be capable of this feature.

A final solution is to increase the "max_interrupt_work" value in your nic
driver source file. This should be some where under linux/drivers/net/*.c.
Note that under heavy load, increasing this value will slow down your comuter
to a crawl, but atleast it's still running :P

Keep in mind that this is very NIC specific, try these solutions one at a time
and in this order. If none of these solutions eliminate the problem, please
post which NIC, kernel version and driver you are using.

Good luck!

- Raja

PS: A google.com search on "linux too much interrupts" brings up some
interesting results from other news groups. Check it out.
---
Visit our home page at: www.chennailug.org
Send e-mail to 'ilugc-request@xxxxxxxxxxxxxxxxxx' with 'unsubscribe' 
in either the subject or the body to unsubscribe from this list.