From owner-freebsd-current Tue Apr 9 14:06:42 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id OAA13929 for current-outgoing; Tue, 9 Apr 1996 14:06:42 -0700 (PDT) Received: from ki.net (root@ki.net [205.150.102.1]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id OAA13920 for ; Tue, 9 Apr 1996 14:05:50 -0700 (PDT) Received: from freebsd.ki.net (root@freebsd.ki.net [205.150.102.51]) by ki.net (8.7.4/8.7.4) with ESMTP id RAA29254 for ; Tue, 9 Apr 1996 17:05:46 -0400 (EDT) Received: from localhost (scrappy@localhost) by freebsd.ki.net (8.7.5/8.7.5) with SMTP id RAA13758 for ; Tue, 9 Apr 1996 17:07:42 -0400 (EDT) X-Authentication-Warning: freebsd.ki.net: scrappy owned process doing -bs Date: Tue, 9 Apr 1996 17:07:41 -0400 (EDT) From: "Marc G. Fournier" To: current@freebsd.org Subject: Comments on change to sio.c Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk 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 :(