Date: Tue, 9 Apr 1996 17:07:41 -0400 (EDT) From: "Marc G. Fournier" <scrappy@ki.net> To: current@freebsd.org Subject: Comments on change to sio.c Message-ID: <Pine.BSI.3.92.960409170131.9514s-100000@freebsd.ki.net>
next in thread | raw e-mail | index | archive | help
In response to my query to this user about whether his problem
has been fixed, I got the following reply:
> >Description:
>
> Kernel spits out lot of these
>
> Jun 18 05:14:47 pommi /kernel: sio1: 119 more interrupt-level buffer over
> flows (total 3642)
> Jun 18 05:14:47 pommi /kernel: sio1: 119 more interrupt-level buffer overflows (
> total 3642)
I don't know if this is still an existing problem, as I have been inserting
a workaround for this since I realized this was considered a feature. It
was fixed by this, in addition I got more performance and more reliablity.
options "TTYHOG=4096"
options "RS_IBUFSIZE=1024"
*** sys/i386/isa/sio.c.orig Thu Aug 24 21:56:48 1995
--- sys/i386/isa/sio.c Thu Aug 24 21:57:13 1995
***************
*** 71,77 ****
--- 71,79 ----
#define LOTS_OF_EVENTS 64 /* helps separate urgent events from input */
#define RB_I_HIGH_WATER (TTYHOG - 2 * RS_IBUFSIZE)
+ #ifndef RS_IBUFSIZE
#define RS_IBUFSIZE 256
+ #endif
#define CALLOUT_MASK 0x80
#define CONTROL_MASK 0x60
--
Heikki Suonsivu, T{ysikuu 10 C 83/02210 Espoo/FINLAND, hsu@clinet.fi
mobile +358-40-5519679 work +358-0-4375360 fax -4555276 home -8031121
=========
Now, I was tempted to throw the #ifndef/#endif into sio.c and
somehow documenting the availability of changing RS_IBUFSIZE in the
conf file. I know that throwing the ifndef into the file won't affect
or break anything, but I'm curious as to whether this is something fixed
in -current and is therefore not required.
I know that RS_IBUFSIZE is set to 256 in -current still, but
the user is claiming better performance/reliability as a result of
increasing his from 256 to 1024.
His problem report, and environment, looks like:
A 486-40 with 6 16550 ports and 4 ethernets (3 active)
A 386-16 with 1 16550 ports and 1 ethernet (just a PPP router)
Description
Both these machines report "interrupt-level buffer overflow":s
very frequently on a leased line running at 38400, badly dropping
IP performance.
On 386-16 I also saw several spontaneous reboots when loading the
PPP link.
How-To-Repeat
It seems that this bites only me, even though it does this on two
quite different configurations. In addition the 486 machine has
115.2k leased line connected with no apparent trouble.
Thus I can't really tell you how to repeat this (other than sending
the machines there :-).
Fix
I changed RS_IBUFSIZE from 256 to 4096, and the problem disappeared.
It might be that a smaller amount would be sufficient (I don't mind
8k memory waste per line in this case). But it is apparent that
256 bytes seems not sufficient for slow or loaded machines.
sio.c:
< #define RS_IBUFSIZE 256
--
> #define RS_IBUFSIZE 4096
=====
Bruce, apologies, but I realized *after* I emailed this guy that
your were responsible for this problem report...I'm watching the "responsible"
field much closer now so that I don't do this again :(
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSI.3.92.960409170131.9514s-100000>
