*BSD News Article 41551


Return to BSD News archive

Newsgroups: comp.os.386bsd.questions
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.mira.net.au!news.netspace.net.au!serval.net.wsu.edu!netnews.nwnet.net!oracle.pnl.gov!osi-east2.es.net!lll-winken.llnl.gov!noc.near.net!monk.proteon.com!jfw
From: jfw@proteon.com (John Woods)
Subject: Re: What is a "silo overflow"?
Message-ID: <D2vGKr.op@proteon.com>
Sender: news@proteon.com
Nntp-Posting-Host: hendrix.proteon.com
Organization: Proteon, Inc., Westborough, Ma.
References: <3fn18a$gej@sundog.tiac.net>
Date: Mon, 23 Jan 1995 18:55:39 GMT
Lines: 25

umar@tiac.net (Rob Landry) writes:
>I'm running nn under NetBSD 1.0.  Every once in a while I get a message
>that says "silo overflow".  There don't seem to be any measurable consqeuen-
>ces of these messages.
>What is a "silo overflow"?  Should I be doing anything to prevent or elimi-
>nate them?  

A silo overflow happens when 17 characters attempt to accumulate in the
16-character silo buffer in a 16550AF chip.  If you're running SLIP or PPP,
the consequence will be a packet getting tossed because of the character
getting tossed, which will then cause a TCP timeout/retry (assuming it's
a TCP packet that got hammered).  To prevent them, you can get a MUCH, MUCH
faster computer :-).  On my home system, I'm experimenting with reducing
the FIFO interrupt trigger point from 8 to 4, hoping that this prevents
character loss and thus makes up in avoided TCP retransmissions what I lose
in (possibly) increased interrupt overhead.  (That requires editing the
com.c driver.)  I've seen no further drops in a day of not terribly extensive
testing.

It is possible that the origin of the dropped characters isn't in the com.c
driver (which, nevertheless, deserves to be taken out back and shot); something
*else* may be periodically holding onto the interrupt disable long enough for
characters to be dropped.  There is nothing the com.c driver could do about
that (unless said hogging lasts only 9 character times, in which case changing
the threshhold will take care of it).