[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: warning - receiver ring buffer overrun



Chris Zakelj wrote:
> 
> Did the google searching, found this
> (http://monkey.org/openbsd/archive/tech/0006/msg00208.html), and given
> the circumstances, I'm pretty sure it's either UDP overflow (MMORPG
> intensive roomates) or just too much traffic.  Either way,  here's the
> question:
> 
> On a i486/33 with 2 we(4) cards, is there any tweaking I could do to
> help this poor system keep up, or am I better off saying screw it and
> finding myself some newer hardware?

well, no dmesg or anything else about your system...or what speed your
link is or or or...

First, a rant, already recorded for posterity:
 http://marc.theaimsgroup.com/?l=openbsd-misc&m=107595644009785&w=2

There are a number of different we(4) cards.  Different ones give
different results.

Does the ring buffer overrun error even cause you problems?  A lot of
OpenBSD driver messages are more informative than serious distress. 
Packets get lost in networks -- the entire system is designed to
tolerate it and deal with it.  If they are not causing actual
problems, just turn off the monitor, problem solved. 8)

Understand that with ISA cards, no matter how fast your processor is,
it becomes an 8MHz 1 wait state 80286 when it accesses the card.  When
you have a single card in the machine (i.e., a server or workstation),
you get a packet, the card interrupts the processor, the processor
removes data from the card (slowly), processes it, returns data to the
card (slowly), and does other things.  When you have two cards in a
machine acting as a gateway, a packet comes in one card, interrupts
the processor, the processor unloads the card (slowly), processes the
packet, loads the other card (slowly) and repeats when the destination
machine replies.  So gateway machines are more sensitive to this than
single NIC machines.

The trick is to make sure it doesn't need to access the card more than
needed and as much gets done between card accesses as possible...  The
first you control by your selection of cards, the second by selection
of processor.

I've had good success with SMC8216 cards (one of the many we(4) cards,
I do believe these things have a pretty "big" buffer, at least for a
10+year old ISA NIC), though I haven't put one (or more relevantly for
you, two) in a loaded 486/33 recently (if ever).  I've had good
success with 3c509B cards (note the B, it counts)...at least, they
don't produce the "ring buffer overrun" error.  8)

You could also try a 486DX2/66, 486DX4/100 or Kingston 5x86 upgrade
for the processor -- it would allow more processing between
packets...  Surplus >486DX processors are fairly easy to get, I would
think (I presume I'm not the only one with 50 or more sitting on the
shelf), but then, so are PCI-based Pentium class systems...and some of
those old 486 systems have attractive cases (i.e., small).

Nick.
-- 
http://www.holland-consulting.net